我想知道当我在main工作时是否有fseek
和ftell
的等价物。
例如,如果我在被要求时输入一个文件的名称,最后我会按enter键。接下来,我将向用户询问另一个文件名,但是缓冲区中有一个未读取的'n'
。用户将无法键入第二个文件的名称,因为程序将读取'n'
。所以我想在缓冲区中向前移动一个位置。通常在文件中我会这样做:
fseek(file, ftell + 1, SEEK_SET);
我想做同样的事情,当我在main,不与文件工作。
最简单的方法就是输入
getc(stdin);
或更短的
getchar();
实际上,可以在main
中使用fseek,您只需要将FILE * stream
设置为stdin
,因此它将是:
fseek(stdin, ftell - 1, SEEK_SET);