Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 10:36   #1
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию добавить к строке символ из getch (на Си)

Код:
char *s1="privet",c[2];
c[0]=getch();
c[1]=0;
strcat(s1,c);
printf("\nnew string: '%s'",s1);
вылетает на strcat с ошибкой
Process terminated with status -1073741819 (0 minutes, 1 seconds)

разве c[2] не стал массивом из 2х символов, первый из которых я задал через getch, а второй как окончание строки?
может, я что-то не так понял из книжек.
mosq вне форума Ответить с цитированием
Старый 18.02.2013, 11:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

s1 у тебя почти константа. В нее не добавишь ничего. Тут нужно ИМХО так:
Код:
char *s1="privet",c[2]; s2[200]={0};
c[0]=getch();
c[1]=0;
strcat(&s2,s1);
strcat(&s2,c);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.02.2013, 16:23   #3
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Stilet, спасибо. Я тут еще нагуглил у иноземцев:
Код:
char c[1],str[100]="privet";
sprintf(c, "%c", getch());
strcat(str,c);
Но все мне кажется, что длинно это и неправильно хоть и работает.
mosq вне форума Ответить с цитированием
Старый 18.02.2013, 17:53   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Пожалуй это не то что бы неправильно а скорее бессмысленно. Но раз работает то пусть работает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler!!! Заменить на символ ‘!’ каждый 3тий символ в строке. Leon9313 Помощь студентам 0 24.04.2012 13:02
Добавить к строке в конце столько звездочек, сколько букв в строке (Паскаль) BBorr1 Помощь студентам 3 09.02.2012 11:40
Как сделать getch символ XxXGhosTXxX Общие вопросы C/C++ 1 23.03.2011 18:27
Как сделать getch символ XxXGhosTXxX Общие вопросы C/C++ 3 23.03.2011 16:02
Как в паскале добавить к строке символ: " ' " NexusN Паскаль, Turbo Pascal, PascalABC.NET 4 22.04.2008 19:58