永发信息网

c++中怎么用一个函数读取不同的文件??!!

答案:3  悬赏:70  手机版
解决时间 2021-02-27 23:14
  • 提问者网友:斑駁影
  • 2021-02-27 13:18
#include
#include
#include
#include
#include
#include
using namespace std;
typedef vector > Mat;
Mat input();
int main (void)
{
Mat a = input();//读取文件函数
for (int i = 0; i < a.size();i++)//输出shuju.txtz中的数据
{
for(int j = 0; j < a[i].size();j++)
{
cout< }
cout< }
return 0;
}
Mat input()//读取文件函数
{
ifstream in("shuju.txt");
Mat a;
istringstream istr;
string str;
vector tmpvec;
while(getline(in,str))
{
istr.str(str);
double tmp;
while(istr>>tmp)
{
tmpvec.push_back(tmp);
}
a.push_back(tmpvec);
tmpvec.clear();
istr.clear();
}
in.close();
return a;
}
我要是在程序的其它地方读取其他文件比如shuju1.txt的话又要重新建立个函数,这样很麻烦。能有其他办法不???!!!
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-02-27 14:03
string fn;
cin>>fn;
ifstream in(fn.c_str());
if(in.fail()){
cout<<"open file "< }
每次调用函数
函数都需要输入文件名字
全部回答
  • 1楼网友:英雄的欲望
  • 2021-02-27 15:21
使用vector filelist,存下每一个文件的名字和路径,比如d:\\001.txt,或者002.txt,类似的所有文件名,然后读取文件时使用for来遍历filelist,每一次可以使用类似 fopen(filelist[i])来打开一个文件来进行读取,如此,就可以对你要读的文件全部读取了。至于读进来的东西存在哪里是你自己要想的事情。
  • 2楼网友:北城痞子
  • 2021-02-27 14:28
你可以把这两种打开文件的方式封装到类里面啊,当想使用到哪种方式时,可以调用那个函数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯