Простая конкатенация в C - PullRequest
0 голосов
/ 21 марта 2012

Я не очень хорошо разбираюсь в C, помимо всего, что я делаю очень долго, мне нужно сделать очень простую вещь:

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

Я просто хочу объединить содержимое индекса 0 массива code в rmessage.

Ответы [ 2 ]

3 голосов
/ 21 марта 2012

Необходимо убедиться, что в rmessage достаточно места для хранения результата конкатенации.Вы можете использовать strncat , чтобы указать количество символов для копирования из строки:

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

strncat(rmessage, code, 1);

или, в этом случае, просто назначить первый символ rmessage:

rmessage[0] = code[0];
1 голос
/ 21 марта 2012

Долгое время не кодировал на С. Я думаю, что синтаксис правильный.

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...