【发布时间】:2022-01-09 05:33:29
【问题描述】:
例如,我想输入一个只能存储五个元素的字符串。它可以是 "Hello",但如果我输入超过 5 个元素,例如 "Hello World"。它只存储 "Hello" 部分。我想控制使用malloc() 函数在字符串中输入的元素的大小或数量。这样我以后可以使用 realloc() 更改字符串的大小以存储更大的字符串,例如 "Hello World" 或将原始字符串与新字符串连接起来,就像我们使用strcat()函数。
我是 C 新手,英语不是我的第一语言。所以,如果有什么不明白的地方,请告诉我。
有可能吗?
【问题讨论】:
-
一种选择是在循环中使用
getchar。存储前五个字符的结果,然后不要存储任何您想忽略的剩余字符。 -
如果您使用的是 Unixy 系统,
getline()可以为您解决问题
标签: c string malloc dynamic-memory-allocation dynamic-arrays