看板 C_and_CPP 關於我們 聯絡資訊
https://gist.github.com/anonymous/c2f50130eacfe03582ba 為什麼再 fclose 後 printf("HHHHH"); 沒有出現 HHHH 字串 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.177.142 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432568162.A.30A.html
Feis: 好問題, 印象中沒甚麼跨平台的解法. XD 誠徵有緣人 05/25 23:45
Feis: 困難點在於 freopen 會把原本的 stream 關掉 05/25 23:48
Qbsuran: windows: freopen("CON","r",stdin) 05/25 23:57
Qbsuran: freopen("/dev/console","r", stdin) 05/25 23:58
Qbsuran: 如果要通用解法就靠preprocessor的define吧 05/25 23:59
Qbsuran: 不然就靠dup來複製原本的fd 05/26 00:00
x000032001: 不要用freopen 用fscanf和fprintf指定FILE就好啦 05/26 00:14
anyoiuo: 有限制平台嗎?Windows? Linux? 05/26 20:46
gigigigi: Linux 平台 05/26 21:33
anyoiuo: http://ideone.com/a0TsP7 05/27 10:37
anyoiuo: 應該可以work,並不是什麼標準作法,純粹突發奇想把FILE* 05/27 10:39
anyoiuo: 當作是struct來複製 05/27 10:39
anyoiuo: windows下stdin/stdout用#define是r value, Linux則是 05/27 10:44
anyoiuo: l-value直接修改即可 05/27 10:44