我想在同一个目录中保存多个文件名。但是,它似乎只保存了数组中的最后一个文件。这是我的代码:
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问题还是其他问题。需要你的见解。提前致谢!