我想在同一個流上使用兩次fgets。我已經定義了兩個指向同一個文件的文件指針,但是當我在其中一個指針上使用fgets時,另一個也會被修改。如何複製文件指針
fun(FILE * input) {
FILE * input_dup=input;
char str[2];
fgets(str, 2, input);
fgets(str, 2, input_dup);
}
在第二次調用與fgets,爲什麼它讀取下一個字符。應該給予同樣的輸出,因爲它們都指向同一個位置
您複製了一個指針,都指向同一個對象。另外,你的代碼不是標準的C++。實際的類型可能是'FILE *'而不是'File *'? –
查看http://stackoverflow.com/questions/6099315/duplicating-file-pointers –
@ Jean-BaptisteYunès:對X的好玩,但我認爲這是一個XY問題。 – Deduplicator