如何用C ++打开文件并阅读它

时间:2017-04-27 17:53:52

标签: c++ if-statement while-loop fstream

我试图用c ++打开一个文件,我知道我需要#include,但我不知道在main中做什么。我想要做的是逐行读取文件。我不能把它变成一个流,因为我读的行是数字。

5000
2015年
5000
8200
9012
4018
2016
1017
3015
2017年
1016
9003
1017
6000
7000
0
0
0
1

这些是文件中的数字。我想读它行是行。我知道我可能需要做一个while语句才能使它工作,但我也想把if语句放在while循环中。因为我需要取每行的第一个数字。 (例5000是5,2015是2)我想通过用整数进行除法来实现这一点,因为它只是给我整数。基本上我遇到的最大问题是我在阅读每一行而没有让它们成为字符串的情况下缺少什么。

2 个答案:

答案 0 :(得分:1)

为什么你不能把它变成流? std :: fstream可以读取整数和文本(当然还有其他类型)。我建议您阅读fstream:http://www.cplusplus.com/reference/fstream/fstream/

至于代码,它看起来像这样:

#include <fstream>
std::fstream file;
file.open("//somepath//foo.somefile", std::fstream::in); //the path to your file, set to "in" mode
int someInt;
while(!file.eof()) {
    file >> someInt;
    //do something with someInt
}
file.close();

答案 1 :(得分:1)

你应该将这个任务分成两部分,而不是一次性考虑它,然后你会发现它很容易。

  1. 逐行阅读文件
  2. 将字符串中的行解析为其整数值
  3. 如果您搜索这些子任务,您会发现两者都有很多结果。