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;
} 展开
但是输入那个文件名的时候 程序没有运行
我是初学者 请讲的简单一点 谢谢
#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;
} 展开
展开全部
#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不会读取到值。
#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不会读取到值。
展开全部
程序没有问题。
你新建个文件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,
你新建个文件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,
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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默认为空 没有输出!!!!
//你的意思是将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默认为空 没有输出!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询