| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Склеить вде строки |
| Автор: icepro 18.4.2008, 12:02 |
| Понимаю это уже спрашивали 100 раз, но у меня немного не стандартный случай. Пишу консольную программу, она дожна брать параметры из коммандной строки, типа: void main(int argc, char* argv[]) проблема состоит в том что у меня есть переменная типа char* и мне в нее нужно добавить еще две такие же, тоесть есть char* f_param; и мне нeжно сделать так что б она была такого вида f_param="argv[2]_argv[3]" Понимаю это елементарная конкатенация, но компилер(студия 2005) то и дело выдает ошибку, про невозможность конвертации чар в чар* и ну и т.п. Дайте пожалуйста робочий код! Заранее спасибо! |
| Автор: just_geek 18.4.2008, 12:41 |
| показал бы код, для начала |
| Автор: Andrey44 18.4.2008, 12:41 | ||
|
| Автор: creatorcode 18.4.2008, 13:03 |
sizeof(argv[2]) вернет размер указателя, а не длину строки. Поэтому надо использовать strlen(argv[2]) |
| Автор: Andrey44 18.4.2008, 13:20 |
| creatorcode, согласен |
| Автор: Graf_h 18.4.2008, 15:21 | ||||
Функция strcat() присоединяет к строке str1 копию строки str2 и завершает строку str1 нулевым символом. Конечный нуль-символ, первоначально завершающий строку str1, перезаписывается первым символом строки str2. Строка str2 при этом не изменяется!
Функция strncat() присоединяет к строке, адресуемой параметром str1, не более count символов строки, адресуемой параметром str2, завершая "результирующую" строку str1 нулевым символом Вот так |
| Автор: creatorcode 18.4.2008, 15:48 | ||
Graf_h, тогда придется использовать и strcpy
|
| Автор: baldina 18.4.2008, 15:57 | ||
|
| Автор: Graf_h 18.4.2008, 16:02 |
| creatorcode, Может стоит человеку рабочий код написать, пусть не парится? |
| Автор: creatorcode 18.4.2008, 17:25 | ||||
| Graf_h, почему бы и нет? Вариант Andrey44:
Ваш вариант:
|
| Автор: Graf_h 18.4.2008, 17:31 |
| creatorcode, |
| Автор: creatorcode 18.4.2008, 17:34 | ||
| Graf_h, это не ошибки return 0 в main необязателен. P.S. Мой вариант:
|
| Автор: Graf_h 18.4.2008, 17:38 |
| creatorcode Graf_h, это не ошибки warning'main' : function should return a value; 'void' return type assumed Linking... creatorcode, STL рулит |
| Автор: warmonger_ 18.4.2008, 22:58 |
если писать не по стандарту... |
| Автор: creatorcode 19.4.2008, 01:26 | ||
Стандарт гласит:
|
| Автор: icepro 19.4.2008, 10:31 |
| Ребята огромное спасибо! Не ожидал что так охотно поможете! Буду пробовать! |