2017-02-11 56 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