我试图从包含1000条记录的文本文件中获取输入。
我使用下面的代码接受三个变量d=10 (文本文件的第一行,a包含第一列中的所有数字,b包含第二列中的所有数字)中的输入。
我在这段代码中遇到的问题是,它以文件的后半部分作为输入,而前半部分则被忽略。
产出:
有人能告诉我为什么我要面对这个吗
发布于 2016-09-08 11:51:05
更好的办法是:
#include <iostream> // std::cout, std::endl
#include <fstream> // std::ifstream
using namespace std;
int main()
{
// open your file
ifstream input_file("test.txt");
// create variables for your numbers
int first_num, left_num, right_num;
// determine the first number in your file
input_file >> first_num;
// while there is a number on the left, put that number into left_num
while(input_file >> left_num)
{
// put the corresponding right number into right_num
input_file >> right_num;
// now you can work with them
cout << left_num << ' ' << right_num << endl;
}
// close the file
input_file.close();
return 0;
}编辑:
@Syed这个问题可能是命令行没有足够的缓冲,只是覆盖了之前的500行。只需转到cmd,单击左上角,转到设置、布局和增加缓冲区。代码正常工作,它一定是您的控制台。
另外,由于您使用了包含浮点数的列表,所以您可能需要考虑将left_num和right_num从int更改为float或double。
https://stackoverflow.com/questions/39387258
复制相似问题