【发布时间】:2013-12-30 22:32:51
【问题描述】:
我想将许多字符串连接在一起以产生一个足够长的唯一字符串。这是一个示例代码:
char *s;
s= strconcat("A big-length string",NULL);
fprintf(stdout,"%s",s);`
当我尝试打印它时,打印的字符串小于实际字符串。
假设strconcat() 函数运行良好。我必须给malloc()一些空间给s吗??
当我尝试strlen(s) 时,它会显示正确的数字,例如 1078。只是打印问题。
编辑
当我尝试像这样注入\n 时,问题解决了
s= strconcat("A big-length string","\n",NULL);
【问题讨论】:
-
如果我们可以假设
strconcat函数运行良好,我们也可以假设它完成了内存分配(并且您必须在打印后free(s))。如果您 (a) 不向我们展示关键代码并且 (b) 不提供代码的真实数据,我们如何解决您的问题? -
strconcat()不是标准函数。我们确实不知道它的作用。你有它的来源,在这里展示吗?你可能是指strcat()。 -
strconcat函数到底是做什么的? -
如果
strlen显示正确的长度,则fprintf是错误的原因。尝试在字符串后添加\n,这可能会有所帮助 -
您需要发布一个完整的可编译示例来演示该问题,包括
main函数和strconcat函数。此问题无法以目前的形式回答。