C编程变量在其他变量

问题描述:

我有一个问题,我需要发送一些数据到套接字,数据存储在一个字符变量(让我们称之为变量A),但这些数据中的一些东西正在改变,是否可以在这个变量中插入另一个变量(变量B),并通过变量B所做的修改发送变量A?C编程变量在其他变量

变量B:

char B[] = "inserted by the user" 

变量A:

char A[] = "soemthing '%Variable B' something else" 
+0

我不知道你想做什么。你看过'snprintf'吗? – 2013-03-02 02:42:10

+0

正如's * printf'?或者你的意思是它应该随变量自动改变? – Ryan 2013-03-02 02:42:36

尝试

char * A = malloc(strlen(B) + 40); /* You can tot up the additional bit here for 
            the rest of A including the null */ 
sprintf(A, "something '%s' something else", B); 
+2

使用snprintf plz – djechlin 2013-03-02 02:51:41

+2

为什么要在何时可以计算空间量方面加以限制。 – 2013-03-02 02:56:04

+1

未来的维护者决定添加一个更长的短语,但不知道要改变'malloc'语句。现在你有UB,这也是你手上的一个安全漏洞。 'snprintf'应该总是首选。 – djechlin 2013-03-02 03:01:17