如何重置scanf()

如何重置scanf(),c,scanf,C,Scanf,如何重置scanf()以在不使用fopen或fclose的情况下读取文本的开头 我有一个阶段1,读取文本文件的一半,阶段2要求我将scanf()重置为文本的开头,并一直读取。 任何提示或指导都将不胜感激。 你们是最棒的 编辑:文本中只有数字,文件通过/myprogram打开。您可以使用fseek()或倒带() 或 可以使用倒带(FILE*fp)将位置重置为文件开头。不能简单地将fseek()放入stdin,而scanf()隐式使用。您肯定是指fscanf(),并且使用的是文件*fp而不是stdi

如何重置
scanf()
以在不使用
fopen
fclose
的情况下读取文本的开头

我有一个阶段1,读取文本文件的一半,阶段2要求我将
scanf()
重置为文本的开头,并一直读取。 任何提示或指导都将不胜感激。 你们是最棒的

编辑:文本中只有数字,文件通过
/myprogram打开。您可以使用
fseek()
倒带()


可以使用
倒带(FILE*fp)
将位置重置为文件开头。

不能简单地将
fseek()
放入
stdin
,而
scanf()
隐式使用。您肯定是指
fscanf()
,并且使用的是
文件*fp
而不是
stdin
?在本例中,
fseek(fp,0,SEEK_SET)
倒带到流的开头,较短的
倒带(fp)
也倒带到流的开头。文件只是数字。对不起,我说的模棱两可!这也是一项要求我不要使用任何与字符相关的命令的作业。也许我误解了这个问题。如果文本由于重定向而通过
stdin
,例如
/myprogram@user3386109是,就是这样!它只是数字。我只是想让它回到起点,或者假装它做到了……好吧,在我的机器上,如果通过重定向将
stdin
连接到文件,那么倒带(stdin)
似乎可以工作,但我不确定它的可移植性如何。
rewind(fp);
fseek(fp, 0, SEEK_SET);