【发布时间】:2009-07-03 19:58:26
【问题描述】:
我有一个程序允许用户输入关卡编号,然后播放该关卡:
char lvlinput[4];
std::cin.getline(lvlinput, 4)
char param_str[20] = "levelplayer.exe "
strcat_s(param_str, 20, lvlinput);
system(param_str);
而关卡数据存储在\001、\002、\003等文件夹中。但是,我无法判断用户是否输入了三个数字,即:1、01或001。并且所有文件夹都被列为三位数字。我不能只检查 lvlinput 字符串的长度,因为它是一个数组,那么如何确保用户输入了三位数字?
【问题讨论】:
-
为什么不能检查字符串的len? “len=strlen(lvlinput);”您可能想要执行以下操作: snprintf(param_str, 20, "levelplayer.exe %03d", atoi(lvlinput);"