[질문] C언어에서 폴더에서 파일 읽기 256개 이상 안되나요?

rapidme의 이미지

안녕하세요. 처음 인사드리구요. 초보입니다.

비주얼씨에서 씨/STL을 섞어서 프로그래밍하고 있습니다.

제가 폴더를 읽어서 파일을 처리하고 있는데요.

256개 이상을 열수가 없습니다.

혹시 이런 문제를 해결하신분이 계신지요?

방법을 알고 계신분 혹시 계시면 부탁좀 드리겠습니다.

char files[255][255];
int nFiles = 0;
struct _finddata_t c_file;
intptr_t hFile;

for(i=0; i<1; i++)
{
cout <<"\t 지금부터 folder를 scanning 합니다 : \n";
if( (hFile = _findfirst( "c:\\*.*", &c_file )) == -1L )
cout << "\t No file(s) in that directory!" << endl;
else
{
do
{
strcpy(files[nFiles], c_file.name);
++nFiles;
cout< } while ( _findnext( hFile, &c_file ) == 0 );
_findclose(hFile);
}
for ( int i = 0; i < nFiles; i++ )
{
cout << "\t 파일명 in files[i][256] " < vchars.push_back(files[i]);
}

익명 사용자의 이미지

> char files[255][255];

이렇게 개수를 제한해놓고 시작하니 될 리가 없지요.

STL을 사용하신다니 std::vector을 사용하시던가 255대신 더 큰 값을 사용하세요.

익명 사용자의 이미지

std::vector 를 std::vector<string> 로 정정합니다.