TOP > eMbedded Visual C++ Tips > 第3回 TCHARを使うべしっっ!
eMbedded Visual C++ Tips 第3回 TCHARを使うべしっっ!■ CEの文字コードはUNICODEx86のWindowsプログラミングとWindows CEプログラミングで決定的に異なるのは文字コードである。言わずもがな、前者はShift JIS(正しくはMS932。純粋なShift JISではない)であり、後者はUNICODEである。メモリ上で扱う文字コードも当然UNICODEであるので、データ型には専用の宣言が必要となる。また、Shift JISで記述されたテキストファイルの読み込みには特別な処理が必要となる。
■ 汎用テキストデータ型と汎用テキストルーチンWin32ではこの問題への解決策としてTCHAR等の汎用テキストデータ型および汎用テキストルーチンが用意されている。
Shift JISのテキストをファイルから読み込む場合もUNICODEへの変換が必要となる。ファイルからデータを読み込んだ後、MultiByteToWideCharによってUNICODEへ変換する。これとは逆にファイルに文字列を書き出す場合、文字列をWideCharToMultiByteによってShift JISに変換した後で書き出せば良い。 ■ MFCまたはATLならば便利な変換マクロが使用できる開発にMFCまたはATLを使うのであれば、A2W()等文字列変換マクロを使用することもできる。
(2003/12/03) Copyright(C) 2003 モバイル開発系(K) All rights reserved. [Home] |