Форум программистов, компьютерный форум CyberForum.ru

функция strcat - C++

Восстановить пароль Регистрация
 
subzeroy
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 22
11.03.2014, 20:34     функция strcat #1
Помогите разобраться, пожалуйста.

C++
1
2
3
4
char* resultat = 0;
char* str = "abc";
 
strcat(resultat, str);
вылетает с ошибкой. Как нужно правильно инициализировать resultat ?

и если скажем нужно обрезать на 1 символ, то делаем так:
C++
1
resultat[strlen(resultat)-1] = '\0';
?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 20:34     функция strcat
Посмотрите здесь:

C++ Функция strcat
C++ функция strcpy и strcat
C++ strcat
Своя функция strcat, завершение с ошибкой C++
C++ Собственная функция strcat -сцепление строк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 319
Регистрация: 30.03.2009
Сообщений: 14,121
Записей в блоге: 26
11.03.2014, 20:41     функция strcat #2
C
char resultat[4];
либо

C
char* resultat = (char*) malloc (4);
либо

C
char buff[4];
char* resultat = &buff[0];
т.е. тебе нужна реально выделенная память, а не просто указатель, смотрящий абы куда
subzeroy
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 22
11.03.2014, 20:52  [ТС]     функция strcat #3
а как из него весь мусор убрать ?
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
11.03.2014, 20:55     функция strcat #4
Цитата Сообщение от subzeroy Посмотреть сообщение
char* resultat = 0;
Вы инициализируете указатель на массив 0-м. Т.е. говорите, что адрес первого элемента нулевой - это ошибка. А нужно чтобы сам символ "0" добавлялся? Тогда замените

Цитата Сообщение от subzeroy Посмотреть сообщение
char* resultat = 0;
на
C++
1
char* resultat = "0";[
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 319
Регистрация: 30.03.2009
Сообщений: 14,121
Записей в блоге: 26
11.03.2014, 23:04     функция strcat #5
Цитата Сообщение от subzeroy Посмотреть сообщение
а как из него весь мусор убрать ?
А зачем?

Когда пишешь "a = b", тебе ведь пофигу, какой мусор был в "a" до того, как туда скопировали значение "b". То же самое и со строкой - тебе не важно, что там было "до того", тебе важно, что там будет после копирования

Цитата Сообщение от Retyrn0 Посмотреть сообщение
А нужно чтобы сам символ "0" добавлялся?
strcpy сам хвостовой ноль добавит. Главное, чтобы память под это дело была выделена

Цитата Сообщение от Retyrn0 Посмотреть сообщение
на
А это вообще ересь какая-то
Yandex
Объявления
11.03.2014, 23:04     функция strcat
Ответ Создать тему
Опции темы

Текущее время: 01:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru