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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
subzeroy
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 22
#1

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

11.03.2014, 20:34. Просмотров 357. Ответов 4
Метки нет (Все метки)

Помогите разобраться, пожалуйста.

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

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

Функция strcat - C++
Нужно написать прогу на C++ и Ассемблере...функцмя strcat(на ассемблере сделал а вот на C++ не могу).Если кто поможет буду очень...

функция strcpy и strcat - C++
Добрый день!У меня такая проблема...Есть массив строк, где хранятся имена и при выводе имени на экран,если оно длиннее определенного,то я...

Что делает функция strcat(t, f) - C++
Функция strcat(t, f) что она делает и как применяеться?

Библиотека string.h, функция strcat - C++
Написал вот такое, но в программе все равно текст не выводит. Должно работать точно также, как и обычная библиотека strcat. char *...

Своя функция strcat, завершение с ошибкой - C++
Здравствуйте, написал свою функцию strcat, она выполняет то, что от нее нужно, но сама программа при этом завершается с ошибкой. void...

Собственная функция strcat -сцепление строк - C++
написать собственную функцию strcat -сцепление строк. Сравнить работу функции со стандартной из библиотеки string.h, если таковая...

4
Evg
Эксперт CАвтор FAQ
18040 / 6272 / 428
Регистрация: 30.03.2009
Сообщений: 17,254
Записей в блоге: 28
11.03.2014, 20:41 #2
C
char resultat[4];
либо

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

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

Цитата Сообщение от subzeroy Посмотреть сообщение
char* resultat = 0;
на
C++
1
char* resultat = "0";[
1
Evg
Эксперт CАвтор FAQ
18040 / 6272 / 428
Регистрация: 30.03.2009
Сообщений: 17,254
Записей в блоге: 28
11.03.2014, 23:04 #5
Цитата Сообщение от subzeroy Посмотреть сообщение
а как из него весь мусор убрать ?
А зачем?

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

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

Цитата Сообщение от Retyrn0 Посмотреть сообщение
на
А это вообще ересь какая-то
0
11.03.2014, 23:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 23:04
Привет! Вот еще темы с ответами:

Своя функция strcat. Копирует мусор - C++
Не могу как сделать так, что бы копирование происходило несколько раз. char *Copies(const char *s, char *s1, int n) { for...

strcat - C++
#include <iostream> #include <conio.h> #include <cstring> using namespace std; char a, b; int main() { cout <<"\n...

strcat - C++
#include <windows.h> #include <iostream> #pragma warning (disable : 4996) void Func (char* lpszFileName); void main() {...

ошибка в strcat - C++
Пишу прогу которая будет создавать файлов сколько ты захочешь :cry: но вот она выыдеает ошибку strcat' was not declared что делать ребят? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru