powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
11 сообщений из 11, страница 1 из 1
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389931
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задолбали меня эти строки в C.

C проект Юникод
надо сделать
BOOL SendMessageToMailSlot(LPCTSTR lpszMessage, LPCTSTR SlotName)

Так например работает
SendMessageToMailSlot(TEXT("lng_dwdata=1;Привет от меня!"), TEXT("\\\\.\\mailslot\\MailSlotMy"));

А надо к примеру отправить

LPWSTR lpwstr1;
LPWSTR lpwstr2;

SendMessageToMailSlot(TEXT("lng_dwdata=1;param1=<lpwstr1>;param1=<lpwstr2>;"), TEXT("\\\\.\\mailslot\\MailSlotMy"));

Ну до кучи там еще и DWORD-ы какие-нибудь могут быть.
Можно это как-то просто сделать без вызова простыней MemAllocMacro, StringCchCopy и прочей ереси?

P.S. Мне понимания не надо, меня уже не вылечишь. Мне надо чтоб работало.
P.S. Когда-то это делал, но там был ANSI и std::string / stringstream
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389937
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77А надо к примеру отправить

LPWSTR lpwstr1;
LPWSTR lpwstr2;
Используй принудительно юникодную версию SendMessageToMailSlotW().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389941
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИспользуй принудительно юникодную версию SendMessageToMailSlotW().


ну так она и без этого интерпретируется как
Код: plaintext
1.
BOOL SendMessageToMailSlot(LPCWSTR lpszMessage, LPCWSTR SlotName)



А как мне
LPWSTR lpwstr1;
LPWSTR lpwstr2;
+ свой текст срастить чтоб отправить в первый параметр?
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389943
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,

преобразование - MultiByteToWideChar, WideCharToMultiByte

строковые функции - wcscat_s, wcsncpy, wcslen и т д
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389944
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77std::string
есть ещё std::wstring
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389946
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Ну до кучи там еще и DWORD-ы какие-нибудь могут быть.
StringCbPrintf (wnsprintf )
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389952
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилДмитрий77std::string
есть ещё std::wstring
Ну допустим, один раз так уже делал правда без w.
Тогда мне нужен wstring

Пишу
Код: plaintext
1.
2.
3.
4.
5.
6.
#include <iostream>
...
std::wstring buffer;
std::wstringstream to_buffer;
to_buffer <<
...



Ошибка 1 error C2079: "to_buffer" использует неопределенный class "std::basic_stringstream<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>" C:\Users\Dmitry\Desktop\FSP_64\cpp\SampleFSP.cpp 610 1 SampleFSP

Чего там включить надо, чтоб это работало?
В старом проекте
#include <fstream>
но это не помогает.
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389953
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
#include <sstream>
вроде прокатило,
счас попробую чего-нибудь наляпать
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389959
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так заработало, чувствую намучаюсь я с этой dll.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
std::wstring buffer;
 std::wstringstream to_buffer;

		to_buffer << "lng_dwdata=1;" << "FileName=" << FaxSend->FileName << ";CallerName=" << FaxSend->CallerName << ";CallerNumber=" << FaxSend->CallerNumber;
		buffer = to_buffer.str();
		to_buffer.str(L"");
		SendMessageToMailSlot((LPCTSTR)(buffer.c_str()), TEXT("\\\\.\\mailslot\\MailSlotMy"));
		to_buffer << "lng_dwdata=2;" << "ReceiverName=" << FaxSend->ReceiverName << ";ReceiverNumber=" << FaxSend->ReceiverNumber << ";Branding=" << FaxSend->Branding;
		buffer = to_buffer.str();
		to_buffer.str(L"");
		SendMessageToMailSlot((LPCTSTR)(buffer.c_str()), TEXT("\\\\.\\mailslot\\MailSlotMy"));
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389967
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77(LPCTSTR)(buffer.c_str())
Прекрати это, такие касты только маскируют багов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
    #39389977
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Блин, по другому не умею.
Делает что хочу и ладно.
Поэтому и отсылаю побыстрее все в VB,
где
str = str1 & "my text" & str2
и не надо по полдня думать над каждой строчкой кода в основном из-за хаоса со строками. Ну и с указателями.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функция требует LPCTSTR, как мне скомбинировать LPCTSTR из других LPWSTR и своего текста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]