使用对输入整数的文件输入
Using file input to input integers
我在这里遇到困难,因为弄清楚为什么这个循环不会将整数从文本文件插入数组中。
我有一个包含100个整数的文本文件,全部由空格隔开。我正在尝试将这些整数插入数组。但是,当我输出(例如[2])输出0时,它会导致我相信这些数字没有被插入数组中。
listFile.open("unsortedlist.txt");
cout << endl << "Unsorted list = ";
for (int i = 0; i < 100; i++)
{
while (listFile >> individualNum )
{
a[i] = individualNum;
cout << individualNum << ", ";
}
}
cout << "n" << a[1] << "n";
由于while
语句,成功读取的所有数字仅分配给a[0]
。结果,a[0]
的最终值是最后一个有效的输入,而未分配给a
的任何其他元素。
您可以使用以下内容:
for (int i = 0; i < 100 && listFile >> individualNum; i++)
{
a[i] = individualNum;
cout << individualNum << ", ";
}
内部循环将努力从文件中读取每个数字。
并将每个数字分配给a[i]
。每次都有相同的数组元素。
在外循环的第一次迭代中,i
为0,因此代码将读取文件中的每个数字,将每个编号分配给a[0]
。
当内部循环到达文件的末尾时,它将终止。然后,外部for
循环将将i
递增至1,再次迭代并运行内部循环。由于读取了整个文件,因此内部循环不会做任何事情。对于剩余的98个数组元素,它都不会做任何其他事情。
循环可能应该是:
for (int i = 0; i < 100; i++)
listFile >> a[i];
请记住,当然,只有在文件中有100个整数时,这才能正常工作。
相关文章:
- 用c++从输入文件中读取另一行
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 获取通过重定向传入的输入文件的名称?
- C++ 如何打开带有另一个目录的输入文件?
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- 如何从输入文件 c++ 创建随机名称生成器
- 从输入文件修剪空格
- 链接器输入文件未使用,因为链接未完成,我无法获得.o
- 我正在尝试从输入文件中读取,然后使用它们的子字符串比较字符串的特定部分
- 我遇到使用 c++ 逐行读取输入文件的问题
- 使用重定向命令从 stdin 读入的字符串"<"输入文件未正确附加
- 使用 getline 从输入文件打印时如何忽略空白行
- 如何按升序对输入文件中的数字进行排序,并找到它们的范围和中值
- 数组大小由输入文件中的行数定义
- 从C++输入文件读取
- 在课堂上创建了一个朋友,给出"无输入文件"错误
- 通过显示一行星号来创建条形图,该条形图将读取数据的输入文件
- 利用输入文件中的数据(字符串和int)并在循环中利用
- C++ 仅读取输入文件中的部分(不是全部)数据以添加到记录中
- 如何从输入文件中读取字符并将其存储到向量中?