Hàm gets() trong C

Hàm char *gets(char *str) trong Thư viện C chuẩn đọc một dòng từ stdin và lưu trữ nó bên trong chuỗi được trỏ bởi str. Nó dừng khi bắt gặp end-of-file hoặc ký tự newline (dòng mới) được đọc.

Hàm gets() khác hàm scanf() ở chỗ là hàm này chấp nhận các chuỗi có khoảng trống.

Khai báo hàm gets() trong C

Dưới đây là phần khai báo cho hàm gets() trong C:

char *gets(char *str)

Tham số

str — Đây là con trỏ tới mảng các char nơi chuỗi được lưu trữ.

Trả về giá trị

Hàm này trả về str nếu thành công, và NULL nếu có lỗi hoặc xuất hiện End-Of-File, trong khi không có ký tự nào đã được đọc.

Ví dụ

Chương trình C sau minh họa cách sử dụng của hàm gets() trong C. Bạn sẽ thấy rằng hàm gets() chấp nhận chuỗi có chứa khoảng trống, không giống như hàm scanf():

#include <stdio.h>

int main()
{
   char str[50];

   printf("Nhap mot chuoi: ");
   gets(str);

   printf("Ban vua nhap chuoi: %s", str);

   return(0);
}

Biên dịch và chạy chương trình C trên để xem kết quả.