有关文件的读取
我想读取一个文本文件中的所有内容,但以下代码只能按行读取,而且空格、Tab符和回车都读不进来。
ifstream fin("abc.txt");
if (!fin)
{
cout << "Can't open file!\n";
return 1;
}
string str;
fin >> str;
cout << str << endl;
fin.close();
请问怎样才能读取所有内容?如文件中有:
aaa bb
ccc
d
而我要把上述内容读入一个字符串str,且空格和回车以及Tab符也要。
[解决办法]
使用其他接口,不要使用ifstream::operator>>
for example istream::read
[解决办法]
for(string temp;getline(fin,temp);)
这个是用getline读入整行的字符 包括空格,但是读入到temp中的时候 文件中的 每个换行符被滤掉了
,所以还得加一个换行符,再把每次读入的temp加入到str的末尾 这样就能满足你的要求了
懂了吗??
[解决办法]
ifstream fin("abc.txt",ios::binary|...) 记不太清怎么写了,要按二进制格式读取