2017-02-11 58 views
-2

我刚开始编程两三天回来,我很困惑,如果scanf()继续从它离开读取数据的点?提前致谢!我需要帮助有关scanf()

+0

[请阅读scanf手册页](https://linux.die.net/man/3/scanf) –

回答

2

是的。这就是为什么你能够做到:

int i; 
scanf("%d", &i); 
scanf("%d", &i); // it remembers*, so it reads the next integer 

请注意,如果您关闭做第二次读取之前的文件,然后所有的赌注都关闭,也不能保证它会继续从停止的地方。

* 从技术上讲,它不会“记住”,但内部文件实现会维护一个光标,它与读取的内容一起寻找以告诉scanf接下来要读的内容。

+1

谢谢!但是你能告诉我更多关于光标的事情吗? – DeepakTakumi

+1

@DeepakTakumi当你打开一个文件时,它有一个内部游标,指示该文件内容的起始偏移量。这很有用,因为文件可以用append模式打开,这是您打开文件进行更新的位置。将光标移动到文件末尾意味着后面的任何写入操作都不会覆盖之前的内容。我希望这能帮助你更多地理解。如果你愿意,可以查看fseek来学习如何基本读取文件的不同部分,而不必读取它们之间的所有内容。 – smac89

+0

谢谢!你解释得很好,我明白了! :) – DeepakTakumi