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