gpt4 book ai didi

c - 强制用户以特定格式编写输入

转载 作者:行者123 更新时间:2023-11-30 15:44:03 25 4
gpt4 key购买 nike

我正在用 C 语言编写一个程序,用于跟踪仓库中的元素。

我想强制用户至少包含一个数字!例如 DVD1、DVD2。你好1,你好20

有办法做到这一点吗?此时我正在使用 scanf。

我希望产品代码的要求格式为 xx-xxx-xxx,其中 x 是数字。

我正在使用 scanf (%[0-9-]s

Mvh 安东!

最佳答案

scanf 不是这样工作的,它没有深入的验证。

您需要将输入读入字符数组,然后循环遍历每个字符并查看它是否是数字。

类似这样的东西(未经测试):

char buffer[1000];
int i = 0, hasDigit = 0;

scanf("%s", buffer);
while (i < sizeof(buffer) && buffer[i] != 0 && !hasDigit)
{
hasDigit = isdigit(buffer[i]);
i++;
}

// if hasDigit is 0, there are no digits

注意:scanf 不太好,因为如果输入的字符多于缓冲区所能容纳的字符,可能会导致缓冲区溢出。最好使用 fgets(buffer, sizeof(buffer), stdin);

关于c - 强制用户以特定格式编写输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19642239/

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