malloc()
函数用于创建输入缓冲区。此技术可避免声明和调整空数组的大小。
创建字符串的一般用法:
char input[64];
可以用以下声明代替:
char *input;
通过使用malloc()
函数在代码内部建立缓冲区的大小。
示例代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *input;
input = (char *)malloc(sizeof(char) * 1024);
if (input == NULL)
{
puts("无法分配缓冲区!");
exit(1);
}
puts("请输入一串长文字内容:");
fgets(input, 1023, stdin);
puts("你写入的内容是:");
printf("\"%s\"\n", input);
system("pause");
return(0);
}
执行上面示例代码,得到以下结果:
请输入一串长文字内容:
this a test string from yiibai.com
你写入的内容是:
"this a test string from yiibai.com"
fgets()
函数将输入限制为1,023
字节,并在字符串末尾留下存储\0
的空间。