C++中一个比较简单的问题(ignore)

显示没有错误我也在文件夹中建了一个.txt的文件但是输入那个文件名的时候程序没有运行我是初学者请讲的简单一点谢谢#include<iostream>#include<io... 显示没有错误 我也在文件夹中建了一个.txt的文件
但是输入那个文件名的时候 程序没有运行
我是初学者 请讲的简单一点 谢谢
#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string filename,a,b,c;
ifstream infile;
cout<<"please input the filename"<<endl;
cin>>filename;
infile.open(filename.c_str());
infile.ignore(200,',');
infile>>a;
infile.ignore(200,',');
infile>>b;
infile.ignore(200,',');
infile>>c;

cout<<a<<endl<<b<<endl<<c<<endl;

infile.close();
return 0;
}
展开
 我来答
wanglixin1001
2012-10-15 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:890万
展开全部
#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;
int main()
{
string filename,a,b,c;
ifstream infile;
cout<<"please input the filename"<<endl;
cin>>filename;
infile.open(filename.c_str());
if(!infile) {cout << "error" << endl; return 0;}
infile.ignore(200,','); //ignore(200,',')表示忽略读取文件中的200个字符,直到遇到','逗号
infile>>a;
infile.ignore(200,',');
infile>>b;
infile.ignore(200,',');
infile>>c;

cout<<a<<endl<<b<<endl<<c<<endl;
infile.close();
return 0;
}
那么上述程序就要求你把txt文件放在程序当前目录下,不是任意文件夹的。然后比如文件中内容为1,2,3,4程序就会读取2,3,4到a,输出2,3,4。第一个1被忽略了。因为1前面没有逗号或者两百个字符。 文件没有后继内容,bc不会读取到值。
帐号已注销
2012-10-15 · TA获得超过3000个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1304万
展开全部
程序没有问题。
你新建个文件abc.txt,然后把下面这几句话拷贝到里面:
the, quick, brown, fox, jumps, over, the, lazy, dog

运行程序,输入"abc.txt"。注意,abc.txt这个文件,一定要跟你这个.cpp源文件在同一个目录里。
infile.ignore(200,','); //跳过200个字符,直到遇到','为止,所以跳过了"the,"
infile>>a; //读入一个字符串,即"quick,",因为默认情况下空格是读取分隔符
infile.ignore(200,','); //跳过200个字符,直到遇到','为止,所以跳过了"brown,"
infile>>b; //读入一个字符串,即"fox,",注意空格是分隔符
infile.ignore(200,','); //跳过"jumps,"
infile>>c; //读取"over,"
最后的输出结果就是
quick,
fox,
over,
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangbwell
2012-10-15 · TA获得超过1238个赞
知道小有建树答主
回答量:490
采纳率:0%
帮助的人:738万
展开全部
infile>>a; // a没有初始化 a字符串为空 这里不对吧
//你的意思是将a的内容写到文件???? 可a没有初始化
infile.ignore(200,',');
infile>>b; //同上
infile.ignore(200,',');
infile>>c; //同上

ifstream infile; //文件是不是用于输出 应该定义为 ofstream infile;

cout<<a<<endl<<b<<endl<<c<<endl; //a,b,c没有初始化 a,b,c默认为空 没有输出!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式