2012-03-21 79 views
0

我不擅长于C,最重要的是以后很长,我做什么,我需要做的很简单的事情:简单连接,

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

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

+0

这两个声明是不一样的。这[链接](http://stackoverflow.com/questions/3862842/difference-between-char-str-string-and-char-str-string)可能会帮助你。 – 2012-03-21 09:03:35

回答

3

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

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

strncat(rmessage, code, 1); 

,或者在这种情况下,刚刚分配的rmessage的第一个字符:

rmessage[0] = code[0]; 
1

在C未编码长time.I认为语法是正确的。

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);