【发布时间】:2014-11-29 21:30:38
【问题描述】:
我想问一些我用 C 写的东西。
我使用fopen() 命令打开并读取一个仅包含两行的文本文件。在
第一行是N个整数,第二行是第一行所说的N个整数。
例如。
-------------- nubmers.txt --------------
8 <-- we want 8 numbers for the 2nd line
16 8 96 46 8 213 5 16 <-- and we have 8 numbers! :)
但我想在文件打开时采取限制。
数字N 应该在1 ≤ Ν ≤ 1.000.000 之间。如果没有,则显示错误消息。如果文件正常,则程序继续使用另一个代码运行。
这是我到目前为止所做的:
int num;
....
fscanf(fp,"%d",&num); // here goes the fscanf() command
if(num<1 || num>1000000) // set restrictions to integer
{
printf("The number must be 1<= N <= 1.000.000",strerror(errno)); // error with the integer number
getchar(); // wait the user press a key
return 0; // returning an int of 0, exit the program
}
else // if everything works.....
{
printf("work until now"); // Everything works until now! :)
getchar(); // wait the user press a key
return 0; // returning an int of 0, exit the program
}
但问题是限制只检查第一行号,虽然它是正确的,但不要读取第二行中的数字。
我的意思是:
假设我在第一行有号码10。
代码将分析数字,检查限制并进入“其他”部分
else // if everything works.....
{
printf("work until now"); // Everything works until now! :)
getchar(); // wait the user press a key
return 0; // returning an int of 0, exit the program
}
..它会说一切正常。
但是如果我在第二行有20 数字怎么办? - 当我只需要10
例如。
-------------- nubmers.txt --------------
10
16 8 96 46 8 213 5 16 8 9 21 5 69 64 58 10 1 7 3 6
所以我希望尽可能地被清除。我的问题是我需要程序中的代码,除了第一个限制之外,在第一个限制下还有另一个限制,它将读取带有数字的 txt 文件的第二行并检查是否有与第一个一样多的数字行说!
我该怎么做? 如果你们想要任何其他声明,请随时询问! 希望我清楚我的问题:)
【问题讨论】: