2011-08-09 59 views
0

说我有一个循环,我想“这个”被命令添加的第一个值如何在字符串中添加空终止符?

strcat(l->value,l->db.param_value.val); 

现在我想追加一个空,一个更大的空间将它移动到正确的,所以我可以有

"this"'\0'"is"'\0' 

如果我在一个循环中连续执行strcat,它只是给我“thisis”,任何人都有关于如何做到这一点的建议?

我用尽它下面的陈述没有工作

 l->value= l->value[1 + strlen(l->db.param_value.val)]; 

谢谢!

+0

是“l-> value”数组还是指向缓冲区的指针?你想'l-> value'来跟踪下一个字符串将被放置的位置吗?你是否有其他的东西来跟踪缓冲区的开始,还是应该把'l-> value'放在一边,一个不同的临时指针跟踪下一个字符串应该去的地方?你有什么指示目标缓冲区有多大(所以你可以检测并避免溢出)? –

+0

目前尚不清楚你想要什么。这听起来像你想在你的字符串中间有空终止符,这可能是一个非常糟糕的主意,除非你真的知道你在做什么。 –

回答

3

尝试

l->value += strlen(l->db.param_value.val) + 1; 

分配l->value[1 + strlen(l->db.param_value.val)]实质上意味着治疗字符作为地址的小的值。 哪个绝对不是你想要的

此外,确保有足够的空间和所有。