#include
#include
#include
#include
using namespace std;
int main()
{
string filename,a,b,c;
ifstream infile;
cout<<"please input the 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<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,