|
mossmin 님이 쓰신 글 :
: c++ 에서요 ..
: 파일을 읽어서 한라인씩 배열에 저장하려고 합니다
: AnsiString을 사용하지 않구요..
: 소스의 일부분만...
: char **SLine;
: sLine=new char * [iSize/4+1];
: while(!feof(fpTemp)){
: memset(chTemp,0x00,25);
: fgets(chTemp,25,fpTemp);
: if (strlen(chTemp)== 0) continue;
: sLine[iCnt] = new char[25];--->(1)
: memset(sLine[iCnt],0x00,25);
: memcpy(sLine[iCnt],chTemp,25);
: iCnt++;
: }
: fclose(fpTemp);
: delete [] sLine;--->(2)
:
: new는 두번 해주는데 delete를 어찌 해야하는지요...
: 여기서 확 막혀버리네요....
이렇게 해 보세요.
for( i = iCnt - 1 ; i >= 0 ; i-- ) // 마지막에 iCnt++ 후 loop를 나오므로
{
delete [] sLine[i]; // 마지막 할당 메모리부터 없애야 잘 끝나더군요.
// 각 1차원 할당메모리에 또 다시 할당된 메모리 삭제
}
delete [] sLine; // 1차원 할당 메모리 삭제
|