永发信息网

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

答案:3  悬赏:70  手机版
解决时间 2021-02-27 23:14
#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的话又要重新建立个函数,这样很麻烦。能有其他办法不???!!!
最佳答案
string fn;
cin>>fn;
ifstream in(fn.c_str());
if(in.fail()){
cout<<"open file "< }
每次调用函数
函数都需要输入文件名字
全部回答
使用vector filelist,存下每一个文件的名字和路径,比如d:\\001.txt,或者002.txt,类似的所有文件名,然后读取文件时使用for来遍历filelist,每一次可以使用类似 fopen(filelist[i])来打开一个文件来进行读取,如此,就可以对你要读的文件全部读取了。至于读进来的东西存在哪里是你自己要想的事情。
你可以把这两种打开文件的方式封装到类里面啊,当想使用到哪种方式时,可以调用那个函数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金飞特·健身国际健身公馆地址在什么地方,想
青岛宝龙乐园怎么样,有什么好玩的吗?
哪里有笔记ghost xp sp2 纯净版下载?求好用
徐把什村地址在哪,我要去那里办事
which country is famous for tamen
远视者易出现视疲劳是因为A.视力下降B.跟位内
飞利浦电吹风BHC208负离子按钮怎样用?是长按
乐透KTV怎么去啊,有知道地址的么
重庆绕城高速全程有多少公里
本能百度云
一部关于体操的电影(或者是电视剧)
谁说说苹果6金色和土豪金是一个颜色吗
狗狗检测犬瘟一条杠另一个看着不是很清晰是犬
什么是资产管理
洗衣服时,不小心把一条短裤掉进马桶里了,是
推荐资讯
大连市沙河口区供电局电话
已知△ABC的周长为27,a,b,c为三角形的三边,且
恐龙危机2攻略和键位
建设银行信用卡额度3000 全刷了 再做账单分期
蚌埠市哪里做的水晶指甲好!价格在多少?
车顶膜什么牌子好
太阳商务宾馆怎么去啊,有知道地址的么
艺术收藏行业五行属什么?
多项式乘除法(2a+b)².(2a+b)的四次幂÷(
天安保险百色中心支公司怎么去啊,有知道地址
平度市青岛路南兰河街8号属于平度市的哪个街
长合口我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?