• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初心者です。WINAPIでの文字列の取り込みについて)

初心者でも分かるWINAPI文字列取り込みの方法

このQ&Aのポイント
  • 初心者でも分かるWINAPI文字列の取り込み方法について解説します。
  • WINAPIを使用してファイルから一行ずつ文字列を取り込む方法について説明します。
  • 表示される文字列に含まれる半角の↑についての疑問や、特定の文字列の取り込み方法についても解説します。

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

  • ベストアンサー
回答No.4

もしそれが改行を意味する文字ならば、最後に付いているだけなのでこんな風にすればいいのでは? if (mon[0]) TextOut(hdc, 0, 0, mon, strlen(mon) - 1); 1文字以上だったら strlen(mon) - 1 を指定して TextOut() を動かすという意味です。 -1 しているので最後の文字は含まれなくなると思います。 これでも駄目なら mon の最後の文字をこういう風に削ってからやってみましょう。 if (mon[0]) mon[strlen(mon) - 1] = '\0'; TextOut(hdc, 0, 0, mon, strlen(mon));

tsukiyono
質問者

お礼

ありがとうございました。自分も最初 if (mon[0]) TextOut(hdc, 0, 0, mon, strlen(mon) - 1);でやろうとしていたのですが,wsprintfでいれた他の文字が削られてしまうのでどうしようかと思っていたのですがおかげで無事格納できました。

その他の回答 (3)

回答No.3

char *fgets(char *文字列, int 数値, FILE *ストリーム); 「ストリーム」に結び付けられているファイルから文字を読み込み、「文字列」に格納。 「数値」-1文字か、改行文字まで。 最後にヌル文字が追加される。 gets()と違い、"改行文字も格納される"

tsukiyono
質問者

お礼

無事に解決できました。 ありがとうございました。

回答No.2

fgets直後、lineの末尾に改行コードがついていませんか?

tsukiyono
質問者

お礼

無事に解決できました。 ありがとうございました。

回答No.1

最後の引数 (int)mon() は何を意図していますか? # それが文字列の長さなのですか? 本当に?

tsukiyono
質問者

補足

すみません、正しくはこうです。 TextOut(hdc, 0, 0, mon, (int)strlen(mon));

関連するQ&A