Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2009, 16:59   #1
larry
Пользователь
 
Регистрация: 03.07.2009
Сообщений: 16
По умолчанию конкатенация строк

Доброго всем дня!У меня возник вопрос по поводу конкатенации строк...
char name[255];
char path[255];
char* full_path;

full_path = new char[strlen(name)+strlen(path)];
strcpy(full_path, path);
strcat(full_path, name);

и чего-то он не работает...размер выдает больше чем надо,а при выводе значения full_path на экран выводить только одну часть path, а дальше забивает буквой Н
larry вне форума Ответить с цитированием
Старый 17.07.2009, 17:08   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

все работает, может у вас не инициализируется переменная name?

посмотреть бы в программе на это...
counter вне форума Ответить с цитированием
Старый 17.07.2009, 17:39   #3
larry
Пользователь
 
Регистрация: 03.07.2009
Сообщений: 16
По умолчанию

Это я упростил, в программе немного по другому...там открывается окно и выбираются файлы...попробую поискать,может где-то что-то пропустил
larry вне форума Ответить с цитированием
Старый 26.07.2009, 08:22   #4
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

функции strcpy и strcat читают и зпамяти байты пока не встретят нулевой байт 00 ,, это говорит о том что строка закончилася. у вас в коде размер динамического массива равен strlen(name)+strlen(path) а места для нулевого байта нету. нужно добавить еденичку strlen(name)+strlen(path) + 1
поэтому

Цитата:
Сообщение от larry Посмотреть сообщение
при выводе значения full_path на экран выводить только одну часть path, а дальше забивает буквой Н
lennon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив строк С++ Nina+ Помощь студентам 1 01.04.2009 23:22
Матрица A состоит из 8 строк и 6 столбцов. вычесть из всех её строк, начиная со второй, первую строку Dimak24 Помощь студентам 1 19.12.2008 15:45
Использование строк (С++) Nattka Общие вопросы C/C++ 15 04.12.2008 21:10
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
Сравнение строк HOMER Общие вопросы Delphi 7 04.01.2008 05:53