好的,在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
我的程序已经可以打开读取并关闭文件了,所以这不是问题。
答案 0 :(得分:2)
当您使用>>
流运算符读取值时,默认情况下它使用空白分隔符。因此,您的换行符和空格将被自动删除。您需要做的就是逐个读取值,直到没有剩余值。
因为您希望以相同的格式输出值,并且它们看起来是double
或float
类型,所以您应该真正读入std::string
。否则,翻译问题和舍入错误可能会蔓延。
std::ifstream infile( "values.txt" );
std::string val;
while( infile >> val ) cout << val << std::endl;