2013-11-12 1 views
0

Я хотел бы сохранить больше символов в ch[500], тогда он уже есть. Я не хочу потерять символы, которые я сохранил там раньше.Расширение символа еще одним символом в C (без перезаписывания)

Что-то, что будет работать так:

ch = ch + ’nextch’; 
+0

Покажите нам код - как вы создать и инициализировать массив? Как вы ввели символы, которые уже есть? Является ли это строкой C с нулевым завершением? –

ответ

2

Вы можете использовать strcat() или strncat() соединить две строки.

, например

char ch[100]; 
strcpy(ch,"hello"); 
strcat(ch," world"); 

если вы хотите добавить только один символ

char str[100]; 
    strcpy(str,"hello"); 
    char ch='a'; 

    char buf[2]; 
    sprintf(buf,"%c",ch); 
    strncat(str,sizeof str, buf); 

или

size_t length= strlen(str); 
    str[strlen(str)]=ch; 
    str[length+1]='\0'; 
+1

Не уверен, но если я правильно понял псевдокод в вопросе, OP хочет добавить ** char ** к массиву, а не строку ** ** –

+0

@ Аndreas вы правы. изменил мой ответ, чтобы отразить ваш комментарий. – Gangadhar

+0

Вы считаете два раза «strlen» в последнем примере –

Смежные вопросы