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

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

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

Несостыковка типов при объединении строк - C++

05.06.2014, 21:29. Просмотров 206. Ответов 6
Метки нет (Все метки)

Надо объеденить строки, хочу воспользоваться для этого функцией strcat(), но она возвращает указатель на char, присвоить чару я его не могу, что делать? Разыименовать значение, возвращаемое функцией, можно?
C++
1
2
books[i].title=strcat(A[i].title,str); // строке books[i].title в конечном итоге надо присвоить "A[i].title str A[n-i-1].title"
books[i].title=strcat(books[i].title,A[n-i-1].title);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 21:29     Несостыковка типов при объединении строк
Посмотрите здесь:

Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов. - C++
Буду благодарен! Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов.

Странное поведение при преобразовании типов - C++
Доброго времени суток! Помогал товарищу написать простенькую программу. Задача состояла в том, чтобы при введенном дробном числе...

Несовпадение типов данных при вызове функций - C++
Код не компилируется из-за несовпадения типов переменных. Я уже запутался и не понимаю что не так) #include <iostream> #include...

Куда деваются байты при приведении типов? - C++
Всем доброго времени суток... Т.к. основной проект на c++, то пишу сюда... Непонятки с приведением типов, объясните пожалуйста... ...

Обращение по нулевому указателю при преобразование типов - C++
int main() { unsigned long long long1 = 123456789012345; char str; _ultoa_s(long1, str, size_t (str), 10); return 0; } ...

Как запретить преобразование типов при использовании cin - C++
Как запретить преобразование типов при использовании объекта потокового ввода cin. Проблема в том, что существует переменная типа int и со...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
05.06.2014, 21:33     Несостыковка типов при объединении строк #2
Цитата Сообщение от Shout Посмотреть сообщение
books[i].title
покажи как объявлен title
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
05.06.2014, 21:33     Несостыковка типов при объединении строк #3
http://www.cplusplus.com/reference/cstring/strcat/
Shout
0 / 0 / 0
Регистрация: 27.04.2014
Сообщений: 8
05.06.2014, 21:34  [ТС]     Несостыковка типов при объединении строк #4
C++
1
2
3
4
struct novel{
    char title[20];
    int pages;
};
zss
Модератор
Эксперт С++
6288 / 5891 / 1910
Регистрация: 18.12.2011
Сообщений: 15,127
Завершенные тесты: 1
05.06.2014, 21:35     Несостыковка типов при объединении строк #5
strcat(A[i].title,str); - прилепит строку str к строке A[i].title
Результат там же (в A[i].title).
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
05.06.2014, 21:43     Несостыковка типов при объединении строк #6
Цитата Сообщение от Shout Посмотреть сообщение
books[i].title=strcat(A[i].title,str); // строке books[i].title в конечном итоге надо присвоить "A[i].title str A[n-i-1].title"
C++
1
2
3
strcpy(books[i].title, A[i].title);// копируем строку A[i].title в books[i].title
strcat(books[i].title,str);// добавляем str
strcat(books[i].title, A[n-i-1].title);// добавляем A[n-i-1].title
http://cpp.com.ru/shildt_spr_po_c/14/strcat.html

Функция strcat() присоединяет к строке str1 копию строки str2 и завершает строку str1 нулевым символом. Конечный нуль-символ, первоначально завершающий строку str1, перезаписывается первым символом строки str2. Строка str2 при этом не изменяется. Если заданные массивы перекрываются, поведение функции strcat() не определено.
http://lord-n.narod.ru/download/book.../14/strcpy.htm
учти что если размер результируешей строки больше чем 19 символов, хапнешь горя
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2014, 22:02     Несостыковка типов при объединении строк
Еще ссылки по теме:

Почему при данном приведение типов не возникает ошибки? - C++
Почему нижеприведенный код не вызывает проблем? Ведь, мы приводим типы от ребенка ко второму родителю и потом void, в результате чего...

Почему конструктор вызывается повторно при преобразовании типов? - C++
В качестве примера предлагаю рассмотреть примерчик из учебника. В примере мы создаём класс, содержащий в качестве поля строку символов и...

Нужны примеры разных типов ошибок при программировании - C++
Здрасти. Не могли бы вы привести примеры следующих типов ошибок в С++: 1) Функциональные ошибки 2) Ошибки логики программирования ...

Неверный результат при преобразования типов данных static_cast<int>(double) - C++
Доброго времени суток, уважаемые программисты! Перейду сразу к сути проблемы: При данном значении вещественной переменной n (n=0.13) в...


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

Или воспользуйтесь поиском по форуму:
Renji
1823 / 1241 / 288
Регистрация: 05.06.2014
Сообщений: 3,551
05.06.2014, 22:02     Несостыковка типов при объединении строк #7
Надо объеденить строки, хочу воспользоваться для этого функцией strcat(), но она возвращает указатель на char, присвоить чару я его не могу, что делать?
Использовать std::string, объединять строки через string1+string2, не пользоваться строками типа "массив char". Потому как очень уж легко вылететь за границы этого массива. После чего вроде бы ничего страшного не случится, но через три минуты ваша программа по необъяснимым причинам упадет на ровном месте. И у вас случится долгий и незабываемый секс со средствами отладки.
Yandex
Объявления
05.06.2014, 22:02     Несостыковка типов при объединении строк
Ответ Создать тему
Опции темы

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