【发布时间】:2011-08-29 00:11:44
【问题描述】:
我正在编写一个程序来存储来自控制台的输入。为了简化,假设我需要将写入的内容输出到控制台。
所以我有这样的事情:
int main()
{
char* input;
printf("Please write a bunch of stuff"); // More or less.
fgets() // Stores the input to the console in the input char*
printf(input);
}
所以或多或少就是这样。只是想给你一个大致的想法。那么,如果他们输入大小为 999999999999 的内容怎么办。我怎样才能动态地将 char* 分配为该大小。
【问题讨论】:
-
发布实际代码而不是无效的代码(输入变量没有后备内存)会是一个更好的主意...
-
为您所处理的内容设置合理的最大值,否则将其视为错误。
-
有一些限制,比如控制台实际接受的长度。只需分配字符串的长度并确保分配没有失败