Здравствуйте, SWW, Вы писали:
хъ
SWW>Человек задал элементарный вопрос. Ответна него такой: туда, где требуется char* необходимо написать саму строку, блягодаря чему неявно вызовется operator(LPCTSTR) класса CString.
Ну и? Ответ не правильный ибо
CString str("Some text");
char* s = str;
даст (для VC 7.0)
error C2440: 'initializing' : cannot convert from 'ATL::CString' to 'char *
в отличии от
CString str("Some text");
const char* s = str;
SWW>Наверняка требовалость именно это, потому что пихать строку туда, где требуется неконстантный char* никому не придет в голову.
Реальность данная мне в ощущениях говорит обратное.
SWW>Что касается UNICODE (о котором, вообще-то, никто не спрашивал) то если бы приложение было бы юникодным, то тогда и преобразовывать пришлось бы в WCHAR* и вопрос был бы задан соответственно.
Ежели не даны уточняющие моменты следует исходить из общих предпосылок.
Всем привет !
Бурно вы тут разглагольствовали
Значит, дело в следующем: у меня есть функция function(char *, int, int) в dll.
в exe-шнике я ее вызываю, а 1-й параметр у меня в exe-шнике CString.
если я просто туда поставлю, пишет ошибку. Если СЫекштпюПуеИгааук(), то передается бред полный. Вот собсно и причина. Только ответа конкретно я не увидел (может смотрел плохо
.
Здравствуйте, godwizard, Вы писали:
G>Всем привет !
G>Бурно вы тут разглагольствовали
G>Значит, дело в следующем: у меня есть функция function(char *, int, int) в dll.
G>в exe-шнике я ее вызываю, а 1-й параметр у меня в exe-шнике CString.
G>если я просто туда поставлю, пишет ошибку. Если СЫекштпюПуеИгааук(), то передается бред полный. Вот собсно и причина. Только ответа конкретно я не увидел (может смотрел плохо .
Она у тебя что-нибудь в этот char * возвращает?
если нет (LPSTR)(LPCSTR). Если да — я-бы сделал динамически массив — передал туда, потом присвоил-бы CString-у и убил.
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...