这可能是一个独特的解决方案(我没有足够的关于您的应用程序的信息,所以无论如何我都会发布它),但是如果您只想要字母数字名称,您可以比较一系列字符的整数值,这将是一个简单的( r) if 语句:
如果您想查看它是小写/大写还是数字:
//伪
if(0-9, az, AZ)continue;
否则拒绝;
for(i=0;...;...){
if((filename[i]==32)||(filename[i]>47 && filename[i]<58 )||(filename[i]>64 && filename[i]<91)||
(filename[i]>96 && filename[i]<123))
continue;
else{
...//reject filename
}
或者,您可以查看它是否是非字母数字...
for(i=0;...;...){
if((filename[i]<=47) || (filename[i]<=64 && filename[i]>=58) ||
(filename[i]<=96 && filename[i]<=91) || (filename[i]<=123)){
reject;
else{
...//nothing
}
http://www.asciitable.com/