Re[6]: Господа, хватит изображать из себя крутых
От: SWW Россия  
Дата: 17.07.03 10:48
Оценка:
ДН>И как это вам помогает в случае unicode? CString то будет содержать TCHAR == WCHAR, но кастом LPCTSTR вы char* не получите!

Человек задал элементарный вопрос. Ответна него такой: туда, где требуется char* необходимо написать саму строку, блягодаря чему неявно вызовется operator(LPCTSTR) класса CString. Наверняка требовалость именно это, потому что пихать строку туда, где требуется неконстантный char* никому не придет в голову.

Что касается UNICODE (о котором, вообще-то, никто не спрашивал) то если бы приложение было бы юникодным, то тогда и преобразовывать пришлось бы в WCHAR* и вопрос был бы задан соответственно.
Re[7]: Господа, хватит изображать из себя крутых
От: Patalog Россия  
Дата: 17.07.03 11:01
Оценка:
Здравствуйте, 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* и вопрос был бы задан соответственно.


Ежели не даны уточняющие моменты следует исходить из общих предпосылок.
Почетный кавалер ордена Совка.
Re[3]: CString to char *
От: godwizard Россия  
Дата: 18.07.03 09:03
Оценка:
Всем привет !
Бурно вы тут разглагольствовали

Значит, дело в следующем: у меня есть функция function(char *, int, int) в dll.
в exe-шнике я ее вызываю, а 1-й параметр у меня в exe-шнике CString.
если я просто туда поставлю, пишет ошибку. Если СЫекштпюПуеИгааук(), то передается бред полный. Вот собсно и причина. Только ответа конкретно я не увидел (может смотрел плохо .
Best regards
Re[4]: CString to char *
От: Saddam Россия http://saddam.narod.ru
Дата: 18.07.03 09:56
Оценка:
Здравствуйте, godwizard, Вы писали:

G>Всем привет !

G>Бурно вы тут разглагольствовали

G>Значит, дело в следующем: у меня есть функция function(char *, int, int) в dll.

G>в exe-шнике я ее вызываю, а 1-й параметр у меня в exe-шнике CString.
G>если я просто туда поставлю, пишет ошибку. Если СЫекштпюПуеИгааук(), то передается бред полный. Вот собсно и причина. Только ответа конкретно я не увидел (может смотрел плохо .
Она у тебя что-нибудь в этот char * возвращает?
если нет (LPSTR)(LPCSTR). Если да — я-бы сделал динамически массив — передал туда, потом присвоил-бы CString-у и убил.
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.