掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プロシージャの中で宣言した文字列について (ID:55221)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
毎度です(^^; ちょっと気になったことがあったので・・・ かなりはしょりますが・・・ kansu(char *moziretsu); char global[12]; WinMain( ・・・・ ) { } WinProc( ・・・・ ) { char InProc[12]; kansu(InProc); kansu(Global); MessageBox(NULL, Global, "グローバル", MB_OK); MessageBox(NULL, InProc, "プロシージャ内", MB_OK); } kansu(char *moziretsu) { char buf[12]; [何らかの文字列をbufに格納] strcpy(moziretsu, buf); } といったように、外部関数などで文字列を取得しようとしたときに、グローバルで宣言した変数は正常に表記されるのですが、プロシージャ内で宣言した文字列変数は、半角で「フフフフフフフフフフ・・・・」とでてしまいます。 プロシージャ内で宣言してしまうと、アドレスがずれたり、壊れたりしてしまうのでしょうか? 何やら初心者的な質問かもしれなくてごめんなさい・・・。 プロシージャ内だけで使用すればよい文字列変数を、わざわざグローバルで宣言しなければならないのがむずがゆくて・・・
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.