1

所以我想将一个字符串放入一个字符数组中,但问题是我需要先定义数组长度,然后才能将字符放入其中,但我不知道长度是多少,因为它取决于用户输入的字符串,有办法吗?我正在使用 C99 标准编程。

4

1 回答 1

2

大多数人通过制作一个足够大的数组来处理他们最大的预期输入(或远远超过)来解决这个问题。

但是在您无法知道要获取并想要处理的字符数的情况下,您需要通过内存分配动态增加内存(使用某种基于日志的增长)。即,分配了 100 个字符,如果您尝试添加更多,动态分配 200,复制您已有的,然后添加新的 stuf。然后,如果你再次达到 200,再次分配到 400,然后复制、添加。(实际数字只是编出来的)

于 2012-11-09T01:10:35.260 回答