我应该在FindFirstFile函数中更改什么以使其显示完整的文件名? 我是一个学生,现在正在学习C++,我正在做一个课程项目。
我被告知要使用FindFirstFile函数,但我无法真正理解它是如何工作的,几乎是盲目地让它以某种方式工作。但它只显示了文件名的前几个字母。我应该做什么改变,让它显示我的全名,这样我可以在以后的程序中使用它我应该在FindFirstFile函数中更改什么以使其显示完整的文件名? 我是一个学生,现在正在学习C++,我正在做一个课程项目。,c++,C++,我被告知要使用FindFirstFile函数,但我无法真正理解它是如何工作的,几乎是盲目地让它以某种方式工作。但它只显示了文件名的前几个字母。我应该做什么改变,让它显示我的全名,这样我可以在以后的程序中使用它 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <Windows.h> #include <stri
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <Windows.h>
#include <string.h>
int main()
{
WIN32_FIND_DATA FindFileData;
HANDLE hf;
system("chcp 1251");
hf = FindFirstFile(L"c:\\Program Files (x86)\\*", &FindFileData);
if (hf == INVALID_HANDLE_VALUE)
{
printf("Error opening files or no files found!");
return 1;
}
else
{
do
{
printf("Found file: %s", FindFileData.cFileName);
printf("\n");
} while (FindNextFile(hf, &FindFileData) != 0);
FindClose(hf);
}
system("pause");
return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
int main()
{
WIN32_FIND_DATA FindFileData;
处理高频;
系统(“chcp 1251”);
hf=FindFirstFile(L“c:\\程序文件(x86)\\*”,&FindFileData);
if(hf==无效的句柄值)
{
printf(“打开文件时出错或未找到文件!”);
返回1;
}
其他的
{
做
{
printf(“找到的文件:%s”,FindFileData.cFileName);
printf(“\n”);
}while(FindNextFile(hf,&FindFileData)!=0);
FindClose(hf);
}
系统(“暂停”);
返回0;
}
它所显示的示例:就像一个智者说我应该在printf中使用%ls modificator,因为我在FindFirstFile中指示长字符串,但尝试只输出正则字符串就像一个智者说我应该在printf中使用%ls modificator,因为我在FindFirstFile中指示长字符串,但尝试只输出正则字符串这能回答你的问题吗?您正确地调用了FindFirstFile(),正确地使用了L“”来表示宽字符串。但不是在printf()调用中,使用%ls。%ls在printf中解决了名称显示问题!这回答了你的问题吗?您正确地调用了FindFirstFile(),正确地使用了L“”来表示宽字符串。但不是在printf()调用中,使用%ls。%ls在printf中解决了名称显示问题!好电话。可能有一个编译器警告。令人惊讶的是没有,所以这就是我没有看到它的原因。你试过了吗?这通常是一个很好的赌注,很好的决定。可能有一个编译器警告。令人惊讶的是没有,所以这就是我没有看到它的原因。你试过了吗?这通常是一个很好的赌注。