在Windows上C如何將LF輸出到標準輸出而不改變爲CR LF?
#include <stdio.h>
int main() {
putc('A',stdout);
putc('\r',stdout);
putc('\n',stdout);
}
輸出
A<CR><CR><LF>
怎麼寫只是LF字符,它自動轉換爲CR LF到標準輸出?
我需要它使簡單的套接字流閱讀器標準輸出。 我試過bcc32從CodeGear,mingw,tinycc都產生相同的結果,改變putc到putchar,fputc,fwrite也沒有幫助。
但它不支持傳遞'NULL'作爲文件名,並且您開始的stdout不一定具有_have_文件名。 – Random832 2011-04-28 04:01:22
謝謝。它可以工作,即使沒有包含在tinycc和mingw中的io.h。必須包含在bcc32 io.h中,然後將_setmode更改爲setmode。 – 2011-04-28 05:03:39
從Windows 10(至少)開始,這是不夠的。控制檯執行自己的翻譯,應該通過設置DISABLE_NEWLINE_AUTO_RETURN控制檯模式分別禁用。 (該常量在Windows 10 SDK中定義,但不在Windows 8 SDK中定義) – AnT 2018-01-24 09:15:55