卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章18470本站已运行341

在C语言中,扫描集(Scansets)

在C语言中,扫描集(Scansets)

让我们来看看C语言中的扫描集是什么。扫描集基本上是scanf系列函数支持的一个特定符号。它由%[]表示。在扫描集中,我们只能指定一个字符或一组字符(区分大小写)。当处理扫描集时,scanf()函数只能处理在扫描集中指定的字符。

示例

'
#include<stdio.h>
int main() {
   char str[50];
   printf("Enter something: ");
   scanf("%[A-Z]s", str);
   printf("Given String: %s", str);
}

输出

'
Enter something: HElloWorld
Given String: HE

它忽略了以小写字母书写的字符。‘W’也被忽略了,因为在它之前有一些小写字母。

现在,如果扫描集在第一个位置有‘^’,那么指定符在第一次出现该字符后停止读取。

示例

'
#include<stdio.h>
int main() {
   char str[50];
   printf("Enter something: ");
   scanf("%[^r]s", str);
   printf("Given String: %s", str);
}

输出

'
Enter something: HelloWorld
Given String: HelloWo

在这里,scanf()在获取字母'r'后忽略了后面的字符。利用这个特性,我们可以解决scanf不接受带有空格的字符串的问题。如果我们使用%[^

],那么它将获取直到遇到换行字符为止的所有字符。

示例

'
#include<stdio.h>
int main() {
   char str[50];
   printf("Enter something: ");
   scanf("%[^<p>]s", str);
   printf("Given String: %s", str);
}</p>

输出

'
Enter something: Hello World. This line has some spaces.
Given String: Hello World. This line has some spaces.
卓越飞翔博客
上一篇: 使用Python中的Selenium关闭特定的网页
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏