读取文件中没有的文件和打印号码

时间:2015-01-20 01:09:30

标签: c

所以我对C很新(我正在使用C语言),我想要打印1到90之间的数字列表。但我只想打印不在指定文件中的数字列表,名为reserved.txt(应该只存储一个int数列表)。在程序的第一次运行时(当保留为空时,要求用户输入介于1和90之间的数字。此数字随后存储在reserved.txt中。当保留时包含至少1个数字但是我想要打印除了存储在reserved.txt中的任何数字之外,屏幕上包含1到90之间的所有数字。所以我基本上想要在将值打印到屏幕时跳过或忽略reserved.txt中的值。有什么建议吗?没有&#39 ;必须非常详细。 NB。如果有帮助,每次在第一次运行后,文件按升序排列。

1 个答案:

答案 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;
  }
}

最后,循环打印等于零的数组索引的值(我将让你自己解决)。