gpt4 book ai didi

c - 验证文件名的用户输入

转载 作者:行者123 更新时间:2023-12-04 09:23:20 27 4
gpt4 key购买 nike

如果我要让用户输入文件的文件名(允许有空格)并验证它是否是错误的文件名,我该怎么做?

现在我能想到的唯一方法是创建像这样的字符数组

char filename[100]

并使用 for 循环并嵌套 if 语句来检查字符串中的每个字符是否为 !@%^*~|等等通过这样的写作行

for(...) {
if(filename[i] == '@'){...}
if(filename[i] == '!'){...}
}

有没有更好的方法来解决这个问题?因为如果我那样做,我会有很多单独的 if 语句来测试所有可能的非法字符。

最佳答案

您可以使用 strchr为此,如果返回值不为空,则说明您发现了一个坏字符。

char bad_chars[] = "!@%^*~|";
char invalid_found = FALSE;
int i;
for (i = 0; i < strlen(bad_chars); ++i) {
if (strchr(filename, bad_chars[i]) != NULL) {
invalid_found = TRUE;
break;
}
}
if (invalid_found) {
printf("Invalid file name");
}

关于c - 验证文件名的用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10159230/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com