调用fgets
后,有没有办法将刚刚读取的行移回原位?我知道当您使用 fgetc
时,您可以执行 ungetc
。有什么方法可以为 fgets
做类似的事情吗?
我问这个的原因是因为我在 if 语句中有一个 fgets
而我不希望实际执行 fgets
我只是想知道它是否是否要返回 NULL
。但我知道,如果 fgets
在 if 语句中,它将被执行。这就是为什么我想知道如何将它移回调用 fgets
之前文件中的点。
最佳答案
没有真菌。
您可以使用ftell
在输入流中保存一个位置,然后使用fseek
重新定位到该点。它对文件很有用,但不能从终端(即标准输入)读取。
进一步阅读
关于c - 使用 fgets 后有没有办法后退一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35119170/