C/C++言語でRPGを作ってみるスレ2
■ このスレッドは過去ログ倉庫に格納されています
http://himatanuki.hp.infoseek.co.jp/cgi-bin/uploader/src/up0033.lzh
gets の直しは、判定部分ではなく入力部分で直せたので、ラクに済みました。
教えてもらったのと違うようにやってみたんですけど、これでもだいじょうぶですよね?
レイアウトの関係上、半角30字以上は入れられたくないので
(実際、それだけの入力が必要な場面も想定していないので)
入れた場合は強制終了するようにしてあります。
/*-------------------------------------------------------------------*/
訂正前の抜粋・こんな感じ・Game.c 内 void WriteScreenInputArea(void)
{
char get_s[50];
gets(get_s);
if (strlen(get_s) > 30)
Err("WriteScreenInputArea// 入力文字数が多すぎます"); //←ゲームの強制終了
}
/*-------------------------------------------------------------------*/
訂正後の抜粋・こんな感じ・Game.c 内 void WriteScreenInputArea(void)
{
char get_s[30+3];
int mojisuu;
mojisuu = strlen(fgets(get_s,30+3,stdin));
if (mojisuu > 30+1)
Err("WriteScreenInputArea// 入力文字数が多すぎます"); //←ゲームの強制終了
else
get_s[mojisuu-1] = '\0';
}
/*-------------------------------------------------------------------*/
■ このスレッドは過去ログ倉庫に格納されています