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);

这样可以避免缓冲区溢出的问题,同时也能读取含有空格的字符串。

阅读剩余
THE END