从文件中获取输入并在每行C ++中放置一个值

时间:2014-02-12 01:43:39

标签: c++

好的,在C ++中,我正在尝试开发一个可以从这样的文件中获取输入的程序:

1.3 2.4 3.8 4.0 5

6.79 7 8 9 10

23 45 5.6 2.45 2.3

并让它每行输出一个值,如下所示:

1.3
2.4
3.8
4.0
5
6.79
7
8
9
10
23
45
5.6
2.45
2.3

我的程序已经可以打开读取并关闭文件了,所以这不是问题。

1 个答案:

答案 0 :(得分:2)

当您使用>>流运算符读取值时,默认情况下它使用空白分隔符。因此,您的换行符和空格将被自动删除。您需要做的就是逐个读取值,直到没有剩余值。

因为您希望以相同的格式输出值,并且它们看起来是doublefloat类型,所以您应该真正读入std::string。否则,翻译问题和舍入错误可能会蔓延。

std::ifstream infile( "values.txt" );
std::string val;

while( infile >> val ) cout << val << std::endl;