안녕하세요. 제가 공부중에
벡터를 이용하는 부분은 공부중인데요.
반복해서 벡터를 푸쉬하면서 다른문자열을 넣고 있습니다.
그런데 푸쉬를 하면서 차구 벡터에 새로운 문자열을 받을때마다
벡터0 부터 있던 문자열이 새로운 문자열로 모두 바뀝니다..ㅠㅠ
클래스에 함수 만들어서 쓰는중인데요.
std::vector<char*> m_vecReceiptDetail;
void SetDetail(int nDem, char *szTemp, FILE *fp)
{
int nCnt = 0;
while (nCnt != nDem)
{
GetToken(szTemp, fp); // 겟토큰은 문자열을받아와서 szTemp 에 문자열을 저장해줍니다.
m_vecReceiptDetail.push_back(szTemp);
nCnt++;
}
}
이런식으로 작업을 하고있는데.
예를들어서
처음 반복문에서는 szTemp = "abcd\0" 가 들어가고
푸쉬를 통해서 vecReceiptDetail[0] = "abcd\0";
들어가는데
반복뒤에 szTemp = "efgh\0" 가 나오면
푸쉬를 통해서 vecReceiptDetail[1] = "efgh\0";
입력됩니다.
근대 문제는 vecReceiptDetail[0]= "abcd\0" 로 뒤에 데이터가 바뀌어버립니다..
문제가 무엇인지 모르겠네요..