現在アドベンチャーとシューティングが合わさったような作品を制作しています。
シューティングのほうはこの掲示板やゲームプログラミングの館でなんとか形になってきたので、
アドベンチャーのほうに手を付け始めたのですが、ファイルから読み込んだ文字をうまく表示できません
fscanfのほうは使えて、文字列も表示できたのですが、参考書にfgetcの方が一般的なテキストを読む際に安全と書かれていたので
fgetcを使ってみたのですが、画面にはその場所に「・」が表示されるだけです
Cは初めて2,3か月 VC++2008 DXライブラリ使用 OSは7です
ちなみにテキストには最初から詰めて「 いろはにほへと 」と打ち込んであります。
getcで取得した文字の表示
Re: getcで取得した文字の表示
「いろはに」の代わりに「ABCDEF」の半角に変えたらうまくいきますか?奥兵 さんが書きました:ちなみにテキストには最初から詰めて「 いろはにほへと 」と打ち込んであります。
non
Re: getcで取得した文字の表示
こんなコードを書くと、
い
を表示できるかもしれませんし、できないかもしれません。
DxLibなるものに関する興味も知識もない私が言うことですから、
あまりあてにはしないでください。
い
を表示できるかもしれませんし、できないかもしれません。
DxLibなるものに関する興味も知識もない私が言うことですから、
あまりあてにはしないでください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: getcで取得した文字の表示
御返答ありがとうございます。
試してみましたところ
いフフフフフフフフフフフフフフフフフフクシ・
という結果が得られました「い」は多分成功しているのだと思いますが
残りの半角カタカナ文字は原因が不明です
Re: getcで取得した文字の表示
void chck()
{
char c[3]={0};
FILE *fp;
fp = fopen("test.txt", "r");
c[0] = (char) fgetc(fp);
c[1] = (char) fgetc(fp);
fclose(fp);
DrawFormatString(200, 400, GetColor(0, 255, 255), "%s", c);
}
文字列の最後のNULL文字が無いのが原因です。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: getcで取得した文字の表示
お~、しまった。
文字列をきちんと終端させていなかったぜ。
ところで、文字列の終端を「NULL文字」と書くのは正しくないと思います。
「NUL文字」と書くんだったら、まだわかります。
どうも「NULL文字」って書かれると、
'\0'
と
NULLポインター
とを一緒くたにしているような気がしてなりません。
「え!一緒じゃないの?」って言わないでくださいね。みけCATさんクラスの方なら。
文字列をきちんと終端させていなかったぜ。
ところで、文字列の終端を「NULL文字」と書くのは正しくないと思います。
「NUL文字」と書くんだったら、まだわかります。
どうも「NULL文字」って書かれると、
'\0'
と
NULLポインター
とを一緒くたにしているような気がしてなりません。
「え!一緒じゃないの?」って言わないでくださいね。みけCATさんクラスの方なら。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: getcで取得した文字の表示
みなさん素早い回答ありがとうございます
一人でかなり苦戦していたのですがようやく解決することができました。
おかげさまで只々感謝の一言ですm(- _ -)m
一人でかなり苦戦していたのですがようやく解決することができました。
おかげさまで只々感謝の一言ですm(- _ -)m
Re: getcで取得した文字の表示
あ・・・・・box さんが書きました:ところで、文字列の終端を「NULL文字」と書くのは正しくないと思います。
「NUL文字」と書くんだったら、まだわかります。
どうも「NULL文字」って書かれると、
'\0'
と
NULLポインター
とを一緒くたにしているような気がしてなりません。
「え!一緒じゃないの?」って言わないでくださいね。みけCATさんクラスの方なら。
すみません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)