爲何printf沒法打印出中文,必須setlocal(LC_ALL,_chs_)後才能夠打印中文

緣由是vc的crt最終調用WriteFile寫輸入輸出流,WriteFile對於控制檯句柄是調用WriteConsoleA編碼 WriteConsoleA使用當前控制檯環境的代碼頁code 所以printf和wprintf最終都得用ANSI編碼調用系統服務unicode 因爲printf自己就是ansi,因此能夠直接把字符串傳給WriteFile字符串 wprintf則要把unicode字符串轉成
相關文章
相關標籤/搜索