Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该在FindFirstFile函数中更改什么以使其显示完整的文件名? 我是一个学生,现在正在学习C++,我正在做一个课程项目。_C++ - Fatal编程技术网

我应该在FindFirstFile函数中更改什么以使其显示完整的文件名? 我是一个学生,现在正在学习C++,我正在做一个课程项目。

我应该在FindFirstFile函数中更改什么以使其显示完整的文件名? 我是一个学生,现在正在学习C++,我正在做一个课程项目。,c++,C++,我被告知要使用FindFirstFile函数,但我无法真正理解它是如何工作的,几乎是盲目地让它以某种方式工作。但它只显示了文件名的前几个字母。我应该做什么改变,让它显示我的全名,这样我可以在以后的程序中使用它 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <Windows.h> #include <stri

我被告知要使用FindFirstFile函数,但我无法真正理解它是如何工作的,几乎是盲目地让它以某种方式工作。但它只显示了文件名的前几个字母。我应该做什么改变,让它显示我的全名,这样我可以在以后的程序中使用它

#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中解决了名称显示问题!好电话。可能有一个编译器警告。令人惊讶的是没有,所以这就是我没有看到它的原因。你试过了吗?这通常是一个很好的赌注,很好的决定。可能有一个编译器警告。令人惊讶的是没有,所以这就是我没有看到它的原因。你试过了吗?这通常是一个很好的赌注。