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