注册 登录
编程论坛 C语言论坛

求助,同样代码昨天运行正常。今天handle=_findfirst(inpath.c_str(),&fileinfo); 找不到文件

追梦人zmrghy 发布于 2022-05-29 10:30, 1466 次点击
昨天运行好好的。。。。
到底什么情况。。。
程序代码:
#include<stdio.h>
#include<string>
#include<io.h>

int main()
{
    std::string inpath = "E:\\c语言视频教程\\Download\\*.*";

    long handle;
    struct _finddata_t fileinfo;

    handle=_findfirst(inpath.c_str(),&fileinfo);
    if (handle == -1)
        return -1;
    do
    {
        printf("%s\n", fileinfo.name);
    }
    while (!_findnext(handle,&fileinfo));

    _findclose(handle);
    return 0;
}



昨天运行好好的。。。。
只有本站会员才能查看附件,请 登录



今天什么情况。。。。
只有本站会员才能查看附件,请 登录





昨天VS2022问题解决了。。。。。
long handle; 改成了 intptr_t handle;

昨天VS2022运行问题
只有本站会员才能查看附件,请 登录


今天VS2022运行。。。。。。OK
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2022-5-29 20:13编辑过]

3 回复
#2
op1232022-06-26 20:03
奇怪
#3
rjsp2022-06-27 10:04
先把代码改正确,即使用的是mingw,也要将 long handle 改为 intptr_t handle; (我不明白的一点是,别人明明返回类型是 intptr_t,你为什么要将它改为 long,目的是什么?)
如果还不行,那是字符编码的问题,setlocale 再加上 -fexec-charset=GBK
#4
RockCarry2022-07-01 12:01
建议开启全警告编译,比如 gcc 的 -Wall,然后保证零警告编译通过。
1