Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Scansets trong C

Scanset là specifier hỗ trợ bởi họ hàm scanf. Diễn đạt bằng %[]. Bên trong chỉ định 1 ký tự hoặc tập ký tự (phân biệt chữ hoa/thường). Khi xử lý, scanf() chỉ nhận ký tự nằm trong scanset.

Ví dụ 1: Chỉ nhận chữ hoa

#include <stdio.h>

int main() {
    char str[50];
    printf("Enter something: ");
    scanf("%[A-Z]s", str);
    printf("Given String: %s", str);
    return 0;
}

Kết quả

Enter something: HElloWorld
Given String: HE

Bỏ qua chữ thường. 'W' cũng bị bỏ vì có chữ thường trước nó.

Ví dụ 2: Dùng ^ để dừng tại ký tự

#include <stdio.h>

int main() {
    char str[50];
    printf("Enter something: ");
    scanf("%[^r]s", str);
    printf("Given String: %s", str);
    return 0;
}

Kết quả

Enter something: HelloWorld
Given String: HelloWo

Dừng đọc khi gặp 'r'.

Ví dụ 3: Đọc chuỗi có khoảng trắng

#include <stdio.h>

int main() {
    char str[50];
    printf("Enter something: ");
    scanf("%[^\n]s", str);
    printf("Given String: %s", str);
    return 0;
}

Kết quả

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