我有一个文本文件,我们称之为numbers.txt,我需要将其扫描成一个数组。
numbers.txt(下面是里面的内容)
8 2 5 9 10 4 11 -1
特殊值-1表示列表的结尾。
我对如何将它放入我的阵列感到困惑。我知道我需要一个循环,但不能把它放在它周围。另外,我不是在程序中扫描文件,我是在终端内进行的。
泰勒>档案< numbers.txt
所以我会像用户输入它一样进行设置。
int main()
{
int numbers[50];
int n, i;
//scanf("%i", &n)
for(i = 0; i < 50; i++)
{
//not sure what to do
}
}
答案 0 :(得分:2)
OP需要考虑许多停止条件。
每个OP的deleted comment数据读取为-1“...我希望它在-1时停止。所以像while(!=-1)
运行循环。我可以用if if陈述也是。“ 。通过测试读取的值可以检测到这一点。
最多50个号码。测试读取的数字的数量。
不再输入(文件结束)。通过测试scanf()
的{{1}}返回值
罕见的输入错误。 (例如,键盘电缆坏了。)通过测试EOF
的{{1}}返回值也可以检测到这一点。
如果输入是非数字的。通过测试scanf()
返回值0可以检测到这一点。
如果输入文本的范围为EOF
。对此的检测未在下面显示。
不清楚是否所有数据都需要在一行上,因此需要检测scanf()
。对此的检测未在下面显示。
实施例
int
答案 1 :(得分:0)
发布的代码无法编译!它缺少SELECT combined,SUBSTRING_INDEX( combined , ':', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( combined , ':', 2 ),':',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX( combined , ':', -2 ),':',1) AS c,
SUBSTRING_INDEX( combined , ':', -1 ) AS d
FROM tablefoo WHERE combined is not null;
语句
以下是代码的一个版本:
#include
语句#include
退出读取循环现在是代码
-1