作者:zyl910 C++標准為C++標准IO庫設計了十分完善的國際化文本處理機制。但在實際使用中,卻發現各種編譯器對它的支持性存在較大的差異,很多時候無法正確的輸出字符。於是我對此進行了深入的 ...
作者:zyl910 C++標准為C++標准IO庫設計了十分完善的國際化文本處理機制。但在實際使用中,卻發現各種編譯器對它的支持性存在較大的差異,很多時候無法正確的輸出字符。於是我對此進行了深入的 ...
Windows平台下VS2008輸出: Windows平台下MinGW輸出: 當加上setlocale函數設定后, 輸出分別為: 為解 ...
作者:zyl910 將Windows程序移植到Linux等平台時,經常會遇到tchar.h問題與字符串的格式控制字符問題(char串、wchar_t串、TCHAR串混合輸出)。本文探討如何解決這些問題。 一、背景 1.1 歷史 傳統的C程序使用char字符串,采用ANSI+DBCS ...
作者:zyl910 在不同平台上開發C/C++程序時,為了避免源碼文件亂碼,得采用UTF-8編碼來存儲源碼文件。但是很多編譯器對UTF-8源碼文件兼容性不佳,於是我做了一些測試,分析了最佳保存方 ...
char 是單字符類型,長度為一個字節 wchar_t 是寬字符類型,長度為兩個字節,主要用在國際 Unicode 編碼中 舉例: 運行結果: ...
轉載自: http://www.ituring.com.cn/article/111027 問題的起因是和一個朋友討論不同編碼的轉換問題,說到了wchar_t的類型,朋友的看法是,wchar_t的編碼方式是utf-16,長度一定是16位的。我的看法不同,我認為wchar_t的長度和編碼方式都是 ...
作者:zyl910 前面測試了各種編譯器的執行結果,但為什么它們的執行結果是那樣呢?這需要仔細分析。VC2005的測試結果比較典型,而且調試跟蹤比較方便,於是本篇對VC2005的crt源碼進行分 ...
作者:zyl910 隨着wchar_t類型引入C語言,字符串處理變得越來越復雜。例如字符串輸出有printf、wprintf這兩個函數,當參數中既有char字符串又有wchar_t字符串時,該怎么填寫格式控制字符呢?本文對此進行探討。 一、翻閱文檔 先翻閱一下各個編譯器的文檔及C99 ...