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