在C语言中,可以使用gets
函数或fgets
函数来读取一行字符串。
gets
函数:#include <stdio.h>
int main() {
char str[100];
printf("输入字符串:");
gets(str);
printf("输入的字符串是:%s\n", str);
return 0;
}
fgets
函数:#include <stdio.h>
int main() {
char str[100];
printf("输入字符串:");
fgets(str, sizeof(str), stdin);
printf("输入的字符串是:%s\n", str);
return 0;
}
其中,gets
函数会读取一行字符串(包括空格),并将其存储在指定的字符数组中。但是,由于gets
函数不会对输入的字符串长度进行检查,容易导致缓冲区溢出的安全问题。
而fgets
函数会读取指定长度的字符串(包括换行符),并将其存储在指定的字符数组中。同时,fgets
函数会检查输入字符串的长度是否超过了指定的字符数组长度,从而避免了缓冲区溢出的问题。