
No.1ベストアンサー
- 回答日時:
_stprintfもTEXTもTCHARと同様に,2バイト文字を使うか1バイト文字を使うかをマクロの定義で簡単に切り替えられるようにするためものです.
_stprintfはC言語の関数で,TEXTはWINAPIのマクロです.
(_stprintfも正確にはマクロで,コンパイル時に1バイトまたは2バイト文字用の関数に置き換えられます)
_stprintfは,場合によってはWINAPIのwsprintf関数で置き換えることもできます.
説明は参考URLに乗っています.
参考URL:http://www.geocities.jp/ky_webid/win32c/006.html …
No.3
- 回答日時:
No.2
- 回答日時:
C/C++のプログラムでは2種類の文字コード系にわけられます
1つはマルチバイト文字コードでもう1つがユニコードです
マルチバイトの文字は char型を使いユニコードではワイド文字のwchar_t型を使います。
文字列を扱う関数もマルチバイトでは sprintf( )、ユニコードでは wsprintf( )のように同じ機能でも関数名にwがついて別の関数になります。
Visual C++ではこれらの文字コードの区別をなくした TCHAR型を普通使います。
TCHAR型は_UNICODEを定義するとwchar_tに_MBCSを定義するとcharに自動的に解釈される型です。
TCHAR型に対応する関数としてご質問の _stprintf( )関数があります。
これは_UNICODEが定義されているとwsprintf( )に、_MBCSが定義されているとsprintf( )になる関数です。
そして文字列を扱うマクロとしてTEXTマクロがあります。
TEXT("abc")は_UNICODEが定義されているとワイド文字列の L"abc" に、_MBCSが定義されていると普通の文字列 "abc" に解釈されます。
ということで _stprrintfはsprintfと同じもの、TEXTはただの飾りと考えていいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
10Mバイトて文字数に すると何...
-
バイト列とバイナリ列の違いが...
-
半角、全角の判別方法
-
日付時刻を4バイトに
-
シフトJISの2バイト文字
-
UNICODE対応にするメリットは?
-
ビットからバイトへの変換
-
ピクセル,dpiから容量(バイト...
-
COBOL PICTUREで X,S,Vの意味
-
VB6で漢字の1バイト目か2バイト...
-
char str[256]の256の意味は?
-
UCS-2の一覧表が欲しい
-
CRC計算方法
-
バイナリとBCDコード
-
「1TB」のHDDに日本語は何字入...
-
ビットスワップとバイトスワッ...
-
Line Inputにて改行があっても...
-
Excel VBA メール作成について ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
char str[256]の256の意味は?
-
エクセルシート名の制限を変更...
-
ピクセル,dpiから容量(バイト...
-
機種依存文字をチェックしたい。
-
バイト列とバイナリ列の違いが...
-
C++ Builderで文字列をバイトに...
-
SQLで1バイト、2バイト混在...
-
URLは最高何文字まで可能なので...
-
64bit対応
-
「1TB」のHDDに日本語は何字入...
-
COBOL PICTUREで X,S,Vの意味
-
【VB2005】テキストボックス内...
-
バイナリとBCDコード
-
VC++で日本語(マルチバイト)フ...
-
全角半角を調べるライブラリ関...
-
シフトJISの2バイト文字
-
Javaで日本語1文字のバイト数
おすすめ情報