【发布时间】:2016-01-21 20:36:40
【问题描述】:
我正在学习 C,并且正在阅读逐行输入的最佳方法。
基本上我想创建包含一整行输入的字符串。下面的问题没有回答我应该如何处理字符串的内存分配。
How can I scan strings with spaces in them using scanf()?
我应该先检测需要多少空间?如何?每次需要更多空间时我是否应该重新分配?
请举例说明
输入来自文件或标准输入(两者都可以,但不能同时)
【问题讨论】:
-
问题太笼统了。你需要做什么?输入来自哪里?
-
好吧,如果长度会改变,那么你需要使用
realloc。 -
我在问题中包含了输入的来源,因此请删除您的反对意见
-
根据平台的不同,你可能有一个
getline函数来为你分配内存。 -
@Helsing 如果您使用的是 Linux,请查看
%ms。