c语言怎样读取字符串
在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);
这样可以免缓冲区溢出的问题,同时也能读取含有空格的字符串。
TOP