×

Đọc và In Chuỗi Có Khoảng Trắng trong C sử dụng fgets

Để đọc và in một chuỗi từ bàn phím trong C, bạn có thể sử dụng hàm scanf kết hợp với %s để đọc chuỗi và hàm printf để in chuỗi. Tuy nhiên, cần lưu ý rằng scanf với %s sẽ dừng đọc chuỗi khi gặp khoảng trắng đầu tiên. Nếu bạn muốn đọc cả một dòng có khoảng trắng, bạn có thể sử dụng fgets thay thế. Dưới đây là một ví dụ sử dụng fgets để đọc một dòng từ bàn phím và in ra chuỗi:

#include <stdio.h>

int main() {
    char str[100]; // Khai báo một mảng ký tự để lưu chuỗi

    printf("Please enter a string: ");
    fgets(str, sizeof(str), stdin); // Đọc một dòng từ bàn phím

    printf("You entered: %s", str); // In ra chuỗi vừa nhập

    return 0;
}

Trong ví dụ này:

  • char str[100]; khai báo một mảng ký tự str với kích thước tối đa là 100. Điều này nghĩa là bạn có thể nhập một chuỗi lên tới 99 ký tự (vì cần một ký tự cho ký tự kết thúc chuỗi '\0').
  • fgets(str, sizeof(str), stdin); dùng để đọc một dòng từ bàn phím và lưu vào mảng str. stdin là đối số chỉ ra rằng dữ liệu đầu vào được đọc từ bàn phím. sizeof(str) đảm bảo rằng số ký tự đọc vào không vượt quá kích thước của mảng, tránh tràn bộ đệm.
  • printf("You entered: %s", str); in ra chuỗi đã nhập.

Lưu ý rằng fgets cũng đọc ký tự xuống dòng ('\n') vào cuối chuỗi nếu có đủ không gian trong mảng. Nếu bạn không muốn ký tự xuống dòng trong chuỗi của mình, bạn có thể loại bỏ nó sau khi đọc chuỗi.

Comments