Computer >> Máy Tính >  >> Lập trình >> lập trình C

Quét trong C

Hãy để chúng tôi xem, tập quét là gì trong C. Về cơ bản, tập tin quét là một công cụ xác định được hỗ trợ bởi các hàm họ scanf. Nó được đại diện bởi% []. Bên trong bộ quét, chúng ta có thể chỉ định một ký tự hoặc một bộ ký tự (Phân biệt chữ hoa chữ thường). Khi tập quét được xử lý, scanf () chỉ có thể xử lý những ký tự được đề cập trong tập quét.

Ví dụ

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

Đầu ra

Enter something: HElloWorld
Given String: HE

Nó bỏ qua các ký tự được viết bằng chữ thường. Chữ ‘W’ cũng bị bỏ qua vì có một số chữ cái viết thường trước nó.

Bây giờ, nếu tập hợp quét có ‘^’ ở vị trí đầu tiên của nó, bộ xác định sẽ ngừng đọc sau lần xuất hiện đầu tiên của ký tự đó.

Ví dụ

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

Đầu ra

Enter something: HelloWorld
Given String: HelloWo

Ở đây scanf () bỏ qua các ký tự sau khi nhận được ký tự ‘r’. Sử dụng tính năng này, chúng tôi có thể giải quyết vấn đề mà một scanf không lấy chuỗi có dấu cách. Nếu chúng ta đặt% [^ \ n], thì nó sẽ mất tất cả các ký tự cho đến khi nó nhận được một ký tự dòng mới.

Ví dụ

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

Đầu ra

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