Để đọ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ảngstr
.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