所以我对C很新(我正在使用C语言),我想要打印1到90之间的数字列表。但我只想打印不在指定文件中的数字列表,名为reserved.txt(应该只存储一个int数列表)。在程序的第一次运行时(当保留为空时,要求用户输入介于1和90之间的数字。此数字随后存储在reserved.txt中。当保留时包含至少1个数字但是我想要打印除了存储在reserved.txt中的任何数字之外,屏幕上包含1到90之间的所有数字。所以我基本上想要在将值打印到屏幕时跳过或忽略reserved.txt中的值。有什么建议吗?没有&#39 ;必须非常详细。 NB。如果有帮助,每次在第一次运行后,文件按升序排列。
答案 0 :(得分:0)
尝试这样的数组:
unsigned int reserved_integers[max_value];
然后使用函数填充它。
void fill_table() {
FILE *input = fopen( "reserved.txt", "r" );
if (input == NULL) {
return;
}
unsigned int i = 0;
unsigned int x = 0;
char word[5];
for (; i < max_value; i++) {
if(fgets( word, 5, input ) == NULL) break;
x = atoi( word );
reserved_integers[x] = i;
}
}
最后,循环打印等于零的数组索引的值(我将让你自己解决)。