Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24

CString в OLECHAR

13.04.2011, 10:30. Показов 1689. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблеммой при добавлении в Storage файлов с русскими именами pStorage->CreateStream возвращает ошибку о том что имя элемента не правельное
В msdn-е написано что при создании потока его имя должно иметь тип OLECHAR подскажите как сконвертировать CString в OLECHAR???

Вот так получал OLECHAR в программе - для английских имён всё норм работает, сам тестил.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
LPWSTR CStorage::_L(LPCTSTR str)
{
    long uLen = MultiByteToWideChar(CP_ACP, 0, str,   -1,  NULL, NULL);
                MultiByteToWideChar(CP_ACP, 0, str, uLen, lpszW = 
                    (WCHAR *)realloc((void *)lpszW,sizeof(WCHAR)*uLen), 
                    uLen);
    return lpszW;
}
 
HRESULT CStorage::StgAddFile(LPCTSTR szName, IStorage * pStorage, IStream ** lpStream)
{
    hRes = pStorage->CreateStream
                (
                    _L(szName),
                    STGM_CREATE             | 
                    STGM_DIRECT             |
                    STGM_READWRITE          | 
                    STGM_SHARE_EXCLUSIVE/*  |
                    STGM_DELETEONRELEASE*/,
                    0, 0, lpStream
                );
    return hRes;
}
Добавлено через 19 часов 30 минут
Решение нашёл сам - всё дело в числе символов в имене файла!Все приведенные выше функции 100% работоспособны, если кому надо юзайте на здоровье...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2011, 10:30
Ответы с готовыми решениями:

CString::Format() и преобразование double в CString
Вот фрагмент программы: void CMy6_1Dlg::OnRadio3() { CString s; int i=m_list1.GetCount(); int a; int k=0; float...

Cstring
Помагите!!! нужно написать программу которая переводит вещественное число в строку!!!

CString в консоль
Как вывести CString в консоль? CString s="string",ss="stri"; ss=ss+s; cout<<ss; Так выводит адрес строки...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2011, 10:30
Помогаю со студенческими работами здесь

CString(MFC)
Здравствуйте! пишу программу, появляются проблемы со строкой типа CString.... Вообще, есть ли ли функция, позволяющая узнать длину строки...

Class CString в VC++8.0
Как передать переменную типа CString из .exe в dll

C++ <cstring> strlen()
Народ, может ли функция strlen() обрабатывать тип не const char, а char ? компилятор ошибку выдаёт str.insert(Position_Begin(c),...

Сериализация CString
У меня есть структура Person: struct Person { //BOOST_SERIALIZATION_SPLIT_MEMBER(); public: Person::Person(const...

Проблема с CString
Есть проект на с++ вс2005. Получил его уже будучи откомпилированым (консольное приложение). В нем много функций использующих CString. все...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru