如何逐个字符地阅读文件的全部内容?

时间:2013-08-03 15:35:41

标签: c++ file

例如:以下是文件内容。

11619.
Jody rosy.
32.
north st.
1/8/2013.
52.

我想阅读上面的整个文件内容,如下所示

1
1
6
1
9
.

J
o
d
y

etc.

以这种方式读取文件的想法是为了检查一些东西。

5 个答案:

答案 0 :(得分:2)

使用std::ifstream

std::ifstream fs("file.ext");
int ch = fs.get();

while (fs.good()) {
    // process `ch' then
    ch = fs.get();
}

答案 1 :(得分:2)

迭代器是为此而制作的 - 具体而言,std::istream_iterator<char>.它比使用get()read()更有用。

答案 2 :(得分:1)

我会这样做:

std::ifstream infile("myfile.txt");
char ch;
while(infile.get(ch))
{
   ... process ch ... 
}

这可以避免出现在最后一个字符上的问题,或者在循环的第一次迭代之前必须读取字符。

答案 3 :(得分:0)

试试这个:

  char c;
  file >> c;

  char c;
  file.read((unsigned char *) &c, sizeof(c));

答案 4 :(得分:0)

#include <fstream>

int main()
{
    std::ifstream input("file.txt");
    while (input)
    {
        char character;
        input.get(character);
        // Process character.
    }
    return 0;
}