读者:我想用 “r+” 打开一个文件, 读出一个字符串, 修改之后再写入,
从而就地更新一个文件。可是这样不行。...同时, 记住改写同样数量的字符, 而且在文本模式下改写可能会在改写处把文件长度截断, 因而你可能需要保存行长度。
读者:怎样在程序里把 stdin 或 stdout 重定向到文件?...读者:一旦使用 freopen() 之后, 怎样才能恢复原来的 stdout (或
stdin)?
小林:没有什么好办法。如果你需要恢复回去, 那么最好一开始就不要使用 fre-open()。...有一种不可移植的办法, 可以在调用 freopen() 之前保存流的信息, 以便其后恢复原来的流。一种办法是使用系统相关的调用如 dup(), dup2() 等。