所以我有一个char **args
,但我想在不使用char *newArgs
的情况下将所有字符串连接成一个string.h
。
任何人都知道这样做的好方法吗?
答案 0 :(得分:5)
这实际上是少数无视标准实现(string.h)并构建自己的连接函数的情况之一,可以获得更好的结果。请参阅讨论此主题的Joel's fantastic article。
但回到你的问题:你需要对args
中的字符串进行两次传递。在第一遍中,你总结了字符串的长度(不要忘记null终止符!)。现在您拥有了结果字符串的长度,您可以为newArgs
分配缓冲区。在另一个传递中,您将内容从args
复制到newArgs
。