在C语言中,可以使用scanf
函数或gets
函数来读取字符串。
scanf
函数读取字符串:char str[100];
scanf("%s", str);
但是这种方法有一个问题,就是只能读取空白符之前的字符串,如果输入字符串含有空格,则只能读取空格之前的部分。
gets
函数读取字符串:char str[100];
gets(str);
这种方法可以读取含有空格的字符串,但是gets
函数存在安全问题,因为它无法判断输入字符串的长度,并且没有提供缓冲区溢出的保护。
为了避免gets
函数的安全问题,建议使用fgets
函数来代替,fgets
函数可以指定读取的最大字符数:
char str[100];
fgets(str, sizeof(str), stdin);
这样可以避免缓冲区溢出的问题,同时也能读取含有空格的字符串。