• ベストアンサー

Drawstringで変数内の文字を表示する方法について

Drawstringで変数内の文字を表示する方法について c言語初心者です。 ウィンドウに文字を表示するDrawstringという命令で変数内の文字を表示したいです。 たとえば、 char *a="a" DrawString(0,0,a,65535); でコンパイルすると、 宣言の構文エラー というエラーが出ます。 改善点がどうしてもわかりません。 ご指摘お願いします。 あと、c言語では変数に文字を一文字ずつしか入れられないので、文字列を変数に保存して表示したい場合にはforなどでループして表示するしかないんでしょうか? 合わせてお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

> char *a="a" > DrawString(0,0,a,65535); これが原文ママなら、ポインタ変数aの宣言のあとの区切り文字(;)が抜けてますが。 表示はputs()とかprintf()とか、まとめて表示できる関数(まぁ内部では一つずつループで回してるはずですが)はあります。

cppgengo
質問者

お礼

「;」つけ足したらちゃんとコンパイルできました! すごい初歩的なミスでお恥ずかしい限りです。m(_ _)m 今度からはちゃんと確認してみます。 迅速な回答ありがとうございました。

その他の回答 (1)

回答No.1

どういう環境で開発を行っているのかわかりませんが、「DrawString」はC言語の標準関数には無い関数ですね。 宣言の構文エラーというのが具体的にどういうエラーなのかわかりませんが、関数宣言がなされていない(インクルードされていない)か、関数宣言と呼出部でパラメータの型とか数とかの記述が違うとかいうレベルのものだと思いますが…… > と、c言語では変数に文字を一文字ずつしか入れられないので、文字列を変数に保存して表示したい場合にはforなどでループして表示するしかないんでしょうか? (1)char型配列の初期化時は文字列リテラルで代入できます。   char str[] = "abcdefg"; (2)char型ポインタには文字列リテラルの先頭アドレスを代入できます。   char *pstr;   pstr = "qwerty"; (3)文字列操作関数を用いてコピー等ができます。   char buf[32];   strcpy(buf, "123456");

cppgengo
質問者

お礼

迅速な回答ありがとうございます。 つまり、文字列を変数に保存し、表示するときは char *a="あいうえお"; DrawString(0,0,a,65535); という表記もできるし、 char a[10]="あいうえお"; DrawString(0,0,a,65535); という表記もできるということですね。 文字列操作関数は便利そうです。 知恵を借していただきありがとうございました。

関連するQ&A