0

複数のファイル名を同じディレクトリに保存したい。ただし、配列の最後のファイルのみを保存しているようです。ここに私のコードがあります:

hFind = FindFirstFile("*.bin", &FindFileData);

if(hFind == INVALID_HANDLE_VALUE) {

  printf("Not founded");
}
 else {
  printf("Found: %s", FindFileData.cFileName);
}
 if(hFind != INVALID_HANDLE_VALUE) {

do
 {
  if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
  {

    printf("\nFound: %s\n", FindFileData.cFileName);
  }
  else
  {

     filesize.LowPart = FindFileData.nFileSizeLow;
     filesize.HighPart = FindFileData.nFileSizeHigh;
     count++;
     filesize.QuadPart += filesize.QuadPart;
     printf("%s %ld bytes", FindFileData.cFileName, filesize.QuadPart);
     printf("count number:%s\n", FindFileData.cFileName);
     files[count] = FindFileData.cFileName;
     printf("\nfiles array:%s", files[count]);

  }
}
 while (FindNextFile(hFind, &FindFileData) != 0);
 //when I'm printing the file[3], it is showing the last file
printf("file in 3:%s", files[3]);

したがって、問題は、配列全体が最後のファイルだけでいっぱいになることです。次のファイルに移動するたびに、配列全体が最後のファイルに置き換えられます。それがwin32の問題なのか他の何かなのかわかりません。あなたの洞察が必要です。前もって感謝します!

4

2 に答える 2