win32 api について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ファイアーjhll

win32 api について

#1

投稿記事 by ファイアーjhll » 13年前

LPSTR型を使ってsprintfのように変数の中身を表示して配列に保存したいのですが
それにはどうしたらいいですか?

コード:


LPSTR s1;
int a = 10;

swprintf(s1, "sdjaowdj  「 %d 」 ijhdopwe", a);

こんな感じでお願いします

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: win32 api について

#2

投稿記事 by h2so5 » 13年前

文字セットに依存しないコードの例はこうなります。

コード:

TCHAR s1[256];
int a = 10;
_stprintf_s(s1, _T("sdjaowdj  「 %d 」 ijhdopwe"), a);
LPSTRを使っていないですが LPSTR = TCHAR* なので同じ事です。
LPTSTRと間違えていました。 LPSTR = char* ですね。

マルチバイトの場合はswprintfではなくてswprintfを使います。

コード:

char buffer[256];
LPSTR s1 = buffer;
int a = 10;
sprintf(s1, "sdjaowdj  「 %d 」 ijhdopwe", a);
最後に編集したユーザー h2so5 on 2013年1月08日(火) 17:20 [ 編集 2 回目 ]

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: win32 api について

#3

投稿記事 by softya(ソフト屋) » 13年前

LPSTRはポインタですのでメモリの実体をmallocするか、どこかに用意したバッファのポインタを代入する必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る