Добавление символа к строке в C без библиотек
Всем привет. Допустим есть строка ”Hello World”. Можно ли добавить в конец строки символ ! без использования библиотек и как это сделать.
Я только начинаю изучать этот язык. Заранее спасибо.
Ответы (2 шт):
Автор решения: karaname
→ Ссылка
#include <stdio.h>
int main(void)
{
char str[] = "Hello";
int i;
for (i = 0; str[i] != '\0'; i++);
str[i] = '!';
printf("%s\n", str); // Hello!
return 0;
}
Автор решения: AlexGlebe
→ Ссылка
// gcc -Wall -std=c11 -Os stradd.c -o stradd
# include <stdio.h>
char const hw [ ] = "Hello, world" ;
char const ac [ ] = "!" ;
int main ( ) {
char result [ sizeof ( hw ) + sizeof ( ac ) - 1 ] ;
char * j = & ( result [ 0 ] ) ;
char const * i = & ( hw [ 0 ] ) ;
// копируем строку до символа конца строки '\00'
do {
( * j ) = ( * i ) ;
++ i ;
++ j ;
} while ( * i ) ;
i = & ( ac [ 0 ] ) ;
// затем продолжаем копировать дальше другую строку
do {
( * j ) = ( * i ) ;
++ i ;
++ j ;
} while ( * i ) ;
// ставим конец строки сами
( * j ) = '\00' ;
printf("\"%s\" + \"%s\" = \"%s\"\n",hw,ac,result); }
результат :
> ./stradd
"Hello, world" + "!" = "Hello, world!"