c++ 오류 확인좀 부탁드립니다.ㅜ
글쓴이: cider3674 / 작성시간: 수, 2017/11/22 - 4:06오후
c++에는 익숙하지 않은 사람입니다. ㅜ
파일리스트를 읽어와서 파일제목을 저장하려고 하는데
파일리스트가 너무 많아 파일 제목을 20개 단위로 자르는 작업을 진행 중입니다.
어떤 부분이 잘못된건지 가르쳐주십시오 ㅜ
(중간중간 제가 주석형식으로 궁금한점을 써놨는데 그부분도 답변해주시면 감사합니다.)
char qValues[1024] = {0,}; char temp[1024] = {0,}; char *sArr[100] = {NULL,}; char *strFileNm[5] = {NULL,}; int cnt=0; int columCnt=0; //FileList에 파일제목이 a.pdf|b.pdf 이런식으로 넘어오게 되어있습니다. long len = FileList.GetLength(); len = len*2; char* szTmp = new char[len+1]; memset(szTmp,0,len+1); USES_CONVERSION; strcpy(szTmp, T2A(FileList)); // | 문자 기준으로 문자열을 자름 char *sPtr = strtok(szTmp, "|"); while(sPtr != NULL) { //문자열을 자른 뒤 메모리 주소를 문자열 포인터 배열에 저장 sArr[cnt] = sPtr; cnt++; } if(cnt > 20) { for(int i=0; i<cnt; i++) { //sArr에 있는 값들을 strFileNm 배열에 넣어준다 strcat(strFileNm[columCnt], sArr[i]); //위에서 strFileNm배열에 sArr배열값들을 합치는건 이런식으로 합쳐도 될까요? //파일제목이 20의 배수개가 되면 strFileNm 배열의 다음번지로 insert하기 위한 작업 if(i%20==0) { columCnt++; } } } else { for(int i=0; i<cnt; i++) { strcat(strFileNm[columCnt], sArr[i]); } } int ncnt = sizeof(strFileNm)/sizeof(char*); for( int j=0; j<ncnt; j++) { //strFileNm이 NULL이 아니면 데이터를 temp에 복사 후 qValues에 합쳐준다. if(strFileNm[j] != NULL) { strcpy(temp, strFileNm[j]); strcat(qValues,temp); } }
Forums:
댓글 달기