问我正在尝试就地更新一个文件,通过使用fopen模式"r+"读取一个字符串,然后写回一个修改后的字符串,但它不起作用。
答务必在写入之前调用fseek,既可以回溯到你想要覆盖的字符串的开头,又因为在读/写fseek或模式中,在读取和写入之间总是需要fflush"+"。此外,请记住你只能用相同数量的替换字符来覆盖字符;没有办法就地插入或删除字符。最后,请记住在文本模式下覆盖可能会在该点截断文件,并且你可能需要保留行长度。另请参阅问题 19.14。
参考文献:ISO Sec. 7.9.5.3
由 托管