最近在编写一个试验程序,中间需要用到读取一个文件夹中全部txt文件的操作,便谢了个小程序返回指定文件夹下所有txt文件名的小程序,开始用QT编译运行,才输出一行就报错 截图如下图一二:
开始一直以为是自己程序的问题,检查觉得没错,就用DevC++编译了一下 能够成功运行并输出,截图如下图三
求问大神,这是什么问题呢 并求解决办法 谢谢
附加我的代码:
#include <stdio.h>
#include <io.h>
#include <iostream>
#include <string>
using namespace std;
const char *to_search="D:\\FileTest\\test\\*.txt"; //欲查找的文件,支持通配符
int main()
{
string location_base="D:\\FileTest\\test\\";
string location[4];
long handle; //用于查找的句柄
struct _finddata_t fileinfo; //文件信息的结构体
handle=_findfirst(to_search,&fileinfo); //第一次查找
int i=0;
if(-1==handle)return -1;
printf("%s\n",fileinfo.name); //打印出找到的文件的文件名
location[i]=location_base;
location[i].append(fileinfo.name);
cout<<location[i]<<endl;
while(_findnext(handle,&fileinfo)==0) //循环查找其他符合的文件,知道找不到其他的为止
{
i++;
printf("%s\n",fileinfo.name);
location[i]=location_base;
location[i].append(fileinfo.name);
cout<<location[i]<<endl;
}
_findclose(handle); //关闭句柄
return 0;
}
http://www.tuicool.com/articles/vmeiUf
#include
#include
#include
#include
#include
usingnamespacestd;
constcharto_search=".\";//欲查找的文件,支持通配符
intmain()
{
stringlocation_base=".\";
vectorlocation;
longhandle;//用于查找的句柄struct_finddata_tfileinfo;//文件信息的结构体handle=_findfirst(to_search,&fileinfo);//第一次查找inti=0;if(-1==handle)return-1;printf("%s\n",fileinfo.name);//打印出找到的文件的文件名cout<<location_base+fileinfo.name<<endl;location.push_back(location_base+fileinfo.name);while(_findnext(handle,&fileinfo)==0)//循环查找其他符合的文件,知道找不到其他的为止{printf("%s\n",fileinfo.name);//location[i]=location_base;cout<<location_base+fileinfo.name<<endl;location.push_back(location_base+fileinfo.name);}cout<<location.size()<<endl;_findclose(handle);//关闭句柄return0;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。