![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Promosoft |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Есть WIN32_FIND_DATA структура с именем FindFileData:
Пытаюсь вытащить имя файла, которое хранится в FindFileData.cFileName
При
В cFileName копируется имя файла (в данном случае 123.txt), но между символами стоит нулевой код. Выглядит в отладчике так:
Подскажите как правильно вытащить из структуры имя файла FindFileData.cFileName |
||||||||
|
|||||||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Promosoft
TCHAR cFileName это вам ни о чем не говорит?
wchar_t хранит юникодные символы, занимает он больше одного байта, но...поскольку для ascii достаточно одного байта, в следующем(их) (смотря где как) байте хранится ноль. Следовательно натыкаясь на ноль strcpy останавливается. Посмотрите функцию wcscpy. Это сообщение отредактировал(а) azesmcar - 31.5.2009, 12:02 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Promosoft |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
azesmcar, спасибо.
Помогла
Это сообщение отредактировал(а) Promosoft - 31.5.2009, 12:43 |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Promosoft, Пометьте тему решенной.
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
TCHAR cFileName[MAX_PATH];
wcscpy(cFileName, (TCHAR *)FindFileData.cFileName); мдэ. представляю, сколько радостных эпитетов пойдет в твой адрес от того, кому потом придётся отлаживать твой шЫдевр |
|||
|
||||
| Promosoft |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
Rififi, да у меня это большой вопрос, как бы вы вышли из положения?
Рядом возникла ещё одна проблема, вытащил из имени файла Расширение, аш 2-мя способами в тестовом проекте (программе), при встраивании в главную программы посыпались ошибки: первый вариант:
второй способ _wmakepath + _wsplitpath При первом способе не понятно почему ругается на неверный указатель и строчку ext = wcsrchr(rgApplInfo.szAppName, '.')+1; Как бы вы вышли из положения? |
|||
|
||||
| 586 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
Выложи определение rgApplInfo.szAppName. |
||||
|
|||||
| Promosoft |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.3.2008 Репутация: нет Всего: нет |
586, Да это скромная структура для хранения информации о файле.
Проблему с Расширением решил сам с 30 раза наверно как минимум, но мне не понравилось
rgApplInfo.szAppExt - это уже место куда мне надо положить готовый "продукт". Если кому то не лень потратить несколько минут, отругайте и укажите на ошибки с рекомендациями именно по этому куску кода Это сообщение отредактировал(а) Promosoft - 31.5.2009, 21:55 |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |