[問題] freopen 用法

作者: gigigigi (gigigigi)   2015-05-25 23:35:58
https://gist.github.com/anonymous/c2f50130eacfe03582ba
為什麼再 fclose 後 printf("HHHHH");
沒有出現 HHHH 字串
謝謝
作者: Feis (永遠睡不著 @@)   2015-05-25 23:45:00
好問題, 印象中沒甚麼跨平台的解法. XD 誠徵有緣人困難點在於 freopen 會把原本的 stream 關掉
作者: Qbsuran (Qbsuran)   2015-05-25 23:57:00
windows: freopen("CON","r",stdin)freopen("/dev/console","r", stdin)如果要通用解法就靠preprocessor的define吧不然就靠dup來複製原本的fd
作者: x000032001 (版廢了該走了)   2015-05-26 00:14:00
不要用freopen 用fscanf和fprintf指定FILE就好啦
作者: anyoiuo   2015-05-26 20:46:00
有限制平台嗎?Windows? Linux?
作者: gigigigi (gigigigi)   2015-05-26 21:33:00
Linux 平台
作者: anyoiuo   2015-05-27 10:37:00
http://ideone.com/a0TsP7應該可以work,並不是什麼標準作法,純粹突發奇想把FILE*當作是struct來複製windows下stdin/stdout用#define是r value, Linux則是l-value直接修改即可

Links booklink

Contact Us: admin [ a t ] ucptt.com