【发布时间】:2016-04-27 04:28:54
【问题描述】:
我正在尝试使用 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 以垃圾告终。我只是不知道如何阅读它以及如何只获取大写字母。
谢谢
【问题讨论】:
-
你希望读入 str 什么?
-
对不起。字符串的格式为:
op 其中 LET 是大写字母,op 必须是 '+' 或 '%'。 -
你的例子有 + 和 * 作为 op,三个都是括号中的数字。
-
我修好了。 LET 是大写字母,op 必须是 + 或 %
-
应该
"<A,W,Zddddd> % qwerty"work 还是失败?
标签: c text io formatting scanf