ファイルからコマンドを読み取って注文を受け入れるプログラムがあります。このファイルでは、いくつかのコマンドは "1.0"、"2.0" のような "float string" ですが、それらは無効です。プログラムが必要とするのは "1"、"2" のような整数です。では、「1.0」などのコマンドが無効であることをプログラムに理解させるにはどうすればよいでしょうか。これを行うためのきちんとした方法はありますか?
char buf[CMDSIZE];
if(fgets(buf, CMDSIZE, stdin)) //buf likes this: "1.0 \n"
{
*prio = 1; *command = -1; *ratio =1.0;
// I need to make sure that command is not "1.0" or something like this
sscanf(buf, "%d", command);
switch(*command){....blahblah......}
}
ありがとうございました。