【iOS版アプリ】不具合のお知らせ

_stprintfやTEXTの関数をDirectX SDK などで調べたのですがありませんでした。
今自分はVisual C++ Expressを使ってDirectXの勉強をしています。
できればこの関数の説明ページが書いてあるサイトを教えて下さるとうれしいです。よろしくお願いします。

gooドクター

A 回答 (3件)

_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 …
    • good
    • 0
この回答へのお礼

紹介してくださったサイトでさっそく勉強しています。
ありがとうございます。

お礼日時:2009/01/28 20:34

MSDNライブラリ


のリファレンスとか使えると思いますよ。
http://msdn.microsoft.com/ja-jp/library/ybk95axf …
    • good
    • 0
この回答へのお礼

このようなサイトがあったのですね!お気に入りに登録させて貰います!

お礼日時:2009/01/28 23:16

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はただの飾りと考えていいです。
    • good
    • 0
この回答へのお礼

わかりやすい説明をありがとうございます。

お礼日時:2009/01/28 23:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング