24h購物| | PChome| 登入
2011-12-05 20:42:23| 人氣2,825| 回應1 | 上一篇 | 下一篇

[筆記] Unicode In C/C++

推薦 0 收藏 0 轉貼0 訂閱站台

  1. 專案屬性選擇「使用 Unicode 字元集」。
  2. #include <tchar.h>。
  3. 用 _tmain 代替 main。
  4. 用 TCHAR 代替 char。
  5. 字串前後加上 _T( ),字元前後也加上 _T( )。
  6. 使用 tcsXXX 系列的字串函式取代 strXXX。
  7. 使用 _tXXX 系列的檔案字串函式,各字串函式的 TCHAR 版為何請查閱 MSDN。
http://www.csie.nctu.edu.tw/~skyang/unicodestr.zhtw.htm


#include <tchar.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

int _tmain() {
    wchar_t s[100];
    setlocale(LC_ALL,"");
    int i;
    printf("Input String : ");
    while(fgetws(s, 100, stdin)) {
        for(i = 0; s[i] != 10; i++) { /*10 == end of string*/
            _tprintf(_T("%d %wc\n"), s[i], s[i]);
        }
        wprintf(L"Show String: %s\n", s);
        memset(s, 0, sizeof(s));
        printf("Input String : ");
    }
    system("pause");
}




// 讀檔

#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

int _tmain() {
    wchar_t s[100];
    setlocale(LC_ALL,"");
    FILE *pFile;
    pFile = _tfopen(_T("in.txt"), _T("r"));
    int i;
    _tprintf(_T("Input String : "));

    while(fgetws(s, 100, pFile)) {
        for(i = 0; s[i] != L'\0'; i++) { /*10 == end of string*/
            _tprintf(_T("%d %wc\n"), s[i], s[i]);
        }
        wprintf(L"Show String: %s\n", s);
        memset(s, 0, sizeof(s));
        _tprintf("Input String : ");   
        _tprintf(_T("\n"));
    }
    system("pause");
}

台長: Morris
人氣(2,825) | 回應(1)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: 亂糟糟筆記 |
此分類下一篇:[C/C++] 格雷碼(Gray code)
此分類上一篇:[C/C++] 模擬鍵盤按鍵 自動回應

學生
不好意思 想請教一下 這種寫法應該是只能用在VC的吧?
gcc可以用嗎?
2013-05-22 11:14:14
版主回應
都可以的,你可以試試看。
很久以前寫的,測試了一下讀檔部分,存 .txt 檔好像不太行,存別的檔案(如 .cpp)就可以了。
環境:Code::Blocks
2013-05-22 12:16:03
是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文