我想在同一个流上使用两次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