C中的扫描集

让我们看看C中的scanset是什么。scanset基本上是scanf系列功能支持的说明符。它由%[]表示。在scanset内部,我们只能指定一个字符或一组字符(区分大小写)。处理扫描集时,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不带空格的字符串的问题。如果我们输入%[^ \ n],它将占用所有字符,直到获得新的换行符。

示例

#include<stdio.h>

int main() {

   char str[50];

   printf("Enter something: ");

   scanf("%[^\n]s", str);

   printf("Given String: %s", str);

}

输出结果

Enter something: Hello World. This line has some spaces.

Given String: Hello World. This line has some spaces.

以上是 C中的扫描集 的全部内容, 来源链接: utcz.com/z/347255.html

回到顶部