![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| shad0w |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.5.2005 Репутация: нет Всего: нет |
Очень извеняюсь если тема уже проходила.
Нужно сложыть 2 строки на C. Делаю:
Пишет Error: noname01.cpp(8,10):Invalid pointer addition Что не так? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
char q -- символ. ты хочеш две строки сложить в символ?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
В параграфе 6.5.6 стандарта C99 сказано, что для сложения необходимо чтобы оба операторы имели арифметический тип, либо один из операторов имел арифметический тип, а другой был указателем.
Другими словами, Си не позволяет складывать указатели, а "sss" и "ddd" и есть указатели на тип char. Значит Си не позволит сложить их. Поэтому возникает error. Для сложения строк в Си используется в частности функция strcat(3), которая во-первых стандартная, во-вторых рассматривалась в этом же форуме "С/С++ Общие Вопросы", последнее обновление кстати "24.5.2005, 09:31\nАвтор: Peter" и называлось это "Работа с strcat". -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
|
|||
|
||||
| bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Irokez
Это сообщение отредактировал(а) bel_nikita - 25.5.2005, 20:41 |
||||
|
|||||
| Irokez |
|
||||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: нет Всего: 53 |
говорю же, недоучил с++
|
||||
|
|||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 2 Всего: 6 |
Гм.
Вообще-то правильно использовать оператор "+" только в применении к классу CString, так как он там перегружен. А по стандарту:
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Только не забудь:
|
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
Считаю, что каждый СиПлюсПлюснутый должен иметь свой класс работ со строками.
-------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Считаю, что что каждый СиПлюсПлюснутый должен использовать std::string - да бы не было недоразумения и велосипедов, и была переносимость кода |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 1 Всего: 111 |
Если бы небыло "велосипедов", то так же небыло бы компьютера, машин и много других великих открытий человечества. Недоразумение - тоже знание, а точнее опыт! |
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 2 Всего: 6 |
Это не тот случай. На ошибках нужно учиться, а не повторять каждый раз одни и те же.
И использовать написанное умными людьми. Ну все, ушли в оффтоп, хотя тут и обсуждать нечего -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Да, не надо оффтопить плиз
Эти вопросы часто возникают. Много новичков программировали на "простых" языках типа Бэйсика или какого нибудь скриптового языка. Им не там просто понять, что указатель и сам массив вещи немного разные Вот можно было бы людей туда перенаправлять. |
|||
|
||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
вот есть статьи о строках и их сравнение, вполне доступные для понимания новичков:
Строки в С и С++ Сравнение std::string без учета регистра -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
shad0w
сhar g - Один символ! Если хочешь сложить, хотя бы массив выдели. q="sss"+"ddd"; - строки скалдываются не так Alastis А хорошая ссылка, кста -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |