C中的简单连接

时间:2012-03-21 08:28:51

标签: c string concatenation

我在C方面并不擅长,在我做了很长时间之后,我需要做一件非常简单的事情:

char code[]="aasd";
char *rmessage="";
strcat(rmessage,code[0]);

我只是想将数组code的索引0的内容连接到rmessage

2 个答案:

答案 0 :(得分:3)

您需要确保rmessage中有足够的空间来存储连接的结果。您可以使用strncat指定要从字符串中复制的字符数:

char code[] = "aasd";
char rmessage[1024] = "";

strncat(rmessage, code, 1);

或者,在这种情况下,只需指定rmessage的第一个字符:

rmessage[0] = code[0];

答案 1 :(得分:1)

长时间不用C编码。我认为语法正确。

int sz=10; // sz = # number of chars you want to store + 1 , i assumed 9 characters will be stored at max. 
char code[] = "aasd";
char *rmessage = malloc(sz*sizeof(char));
rmessage[0]=code[0];
rmessage[1]=NULL;

*请记住在工作完成后释放分配给rmessage的内存。

free(rmessage);