有一个文件包含如下数据:
11619.
Jody rosy.
32.
north st.
1/8/2013.
52.
我想阅读整个文件内容如下:
1
1
6
1
9
.
J
o
d
y
etc.
我怎样才能以这种方式读取文件内容?
迭代器就是为此而生的——具体来说,std::istream_iterator<char>.
它比使用get()
or有用得多read()
。
我会这样做:
std::ifstream infile("myfile.txt");
char ch;
while(infile.get(ch))
{
... process ch ...
}
这避免了出现在最后一个字符上的问题,或者必须在循环的第一次迭代之前读取一个字符。
Use std::ifstream
:
std::ifstream fs("file.ext");
int ch = fs.get();
while (fs.good()) {
// process `ch' then
ch = fs.get();
}
尝试这个:
char c;
file >> c;
或者
char c;
file.read((unsigned char *) &c, sizeof(c));
#include <fstream>
int main()
{
std::ifstream input("file.txt");
while (input)
{
char character;
input.get(character);
// Process character.
}
return 0;
}