所以我想从文件中读取数字,文件如下:
8
9 5 7 -5 13 -4 11
7 5 -3 12 -5 17 -3
25 7 12 -3 5 -5 7 -5 3
14 5 12 -3 10 -7 8
5 1 -40
33 5 15 -5 9 -3 8
11 5 -12 8 -5 12 -3
13 5 3 -4 25 -5 3
我需要所有的数字,不在第一行,而不是第一行,这是我的代码:
#include <iostream>
#include <fstream>
using namespace std;
int times[99];
int n, k, t;
int main()
{
ifstream file("U1.txt");
file >> n;
for (int i = 0; i < n; i++)
{
file >> k >> t;
for (int j = 0; j < t; j++)
{
file >> times[j];
cout << times[j] << " ";
}
cout << endl;
}
for (int i = 0; i < 99; i++)
{
cout << times[i] << " ";
}
return 0;
}
在阅读时输出每一个数字给出我想要的东西:
7 -5 13 -4 11
-3 12 -5 17 -3
12 -3 5 -5 7 -5 3
12 -3 10 -7 8
-40
15 -5 9 -3 8
-12 8 -5 12 -3
3 -4 25 -5 3
由于某种原因,我阅读完所有内容后的输出就是这样(我不介意0,我知道他们为什么在这里):
3 -4 25 -5 3 -5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
答案 0 :(得分:0)
每次启动内部循环时,都会将j重置为0,因此在读取每一行后,您将覆盖先前写入数组的内容。这会导致您的数组仅包含文件的最后一行 您应该创建另一个变量,在外部循环开始之前将其初始化一次,然后在内部循环内增加它。