gpt4 book ai didi

c - 使用 Scanf() 读取特定字符串

转载 作者:行者123 更新时间:2023-12-04 11:29:17 26 4
gpt4 key购买 nike

我正在尝试使用 scanf() 在 C 中读取特定格式的字符串该字符串的格式为:

<LET,LET,LET> op

其中 LET 是大写字母,op 必须是 '+''%'

这些是有效的条目:

<A,B,C> +
<A,W,Z> %
<Q, X,W> +

这些不是:

<A,b,C> +
<A,W,Zddddd> %
<Q,X,W> *

我正在尝试这样的事情

#include <stdio.h>

int ret = 0;
char str[8];
ret = scanf("%8[^\n]",str);

但是str最终会产生垃圾。我只是不知道如何阅读它以及如何只获取大写字母。

谢谢

最佳答案

试试这个:

#include <stdio.h>

int main(void) {
char let1[2], let2[2], let3[2], op[2];
char line[80];
while(fgets(line, sizeof line, stdin)){
if(sscanf(line, "<%1[A-Z], %1[A-Z], %1[A-Z]> %1[+%]", let1, let2, let3, op) == 4)
puts("valid");
else
puts("invalid");
}

return 0;
}

关于c - 使用 Scanf() 读取特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36880328/

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