相当于主要的fseek和ftell

时间:2013-06-09 14:35:29

标签: c file main fseek ftell

我想知道当我在主要工作时是否有fseekftell的等价物。

例如,如果我在询问时输入文件名,最后我按Enter键。接下来我会问用户另一个文件名,但缓冲区中有一个'\n'未读取。用户将无法键入第二个文件的名称,因为该程序将读取'\n'。所以我想在缓冲区中向前移动一个位置。通常在我要做的文件中:

fseek(file, ftell + 1, SEEK_SET);

当我在主要时,我想做同样的事情,而不是使用文件。

2 个答案:

答案 0 :(得分:1)

最简单的方法就是说

getc(stdin);

甚至更短

getchar();

并忽略返回的字符。

答案 1 :(得分:1)

实际上,可以在main中使用fseek,您只需将FILE * stream设置为stdin,这样就可以了:

fseek(stdin, ftell - 1, SEEK_SET);