VS C++ 2005 и автоматическое преобразование типов
От: prinz  
Дата: 12.09.05 18:14
Оценка:
Извиняюсь, за дубль... блин, зарегестрировался ведь...
Подскажите плиз:

CString fname;
file = fopen(fname, "r")

не работает... говорит
Error 4 error C2440: 'type cast' : cannot convert from 'CString' to 'char *'...

в vs.7 NET все автоматом кастил, а тут ваще ничего не хочет... где поправить??

и главное что если написать явное преобразование

file = fopen((char *)fname, "r")

все равное не пашет...
Re: VS C++ 2005 и автоматическое преобразование типов
От: Анатолий Широков СССР  
Дата: 12.09.05 19:00
Оценка:
А так?

file = fopen(static_cast<char const*>(fname), "r")
Re: VS C++ 2005 и автоматическое преобразование типов
От: Анатолий Широков СССР  
Дата: 12.09.05 19:12
Оценка:
Еще одно предположение, что проект автоматом стал UNICODE, поэтому вам требуется использовать соответствующие прототипы стандартной библиотеки — _wfopen.
Re[2]: VS C++ 2005 и автоматическое преобразование типов
От: prinz  
Дата: 13.09.05 15:32
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

АШ>Еще одно предположение, что проект автоматом стал UNICODE, поэтому вам требуется использовать соответствующие прототипы стандартной библиотеки — _wfopen.


Не... не то ни другое не помогает

Да как неужели ни у кого таких пробем с преобразованием типов не было??

это ведь не только в fopen везде приходится прописвать явное преобразование... неудобно
Re[3]: VS C++ 2005 и автоматическое преобразование типов
От: Анатолий Широков СССР  
Дата: 13.09.05 15:36
Оценка:
Погоди, так, если отвечся:


void foo(TCHAR const *ptr)
{
}

...

CString str(_T("hello"));
foo(str); // ok?
Re: VS C++ 2005 и автоматическое преобразование типов
От: Phantom_VM  
Дата: 15.09.05 14:28
Оценка:
Здравствуйте, prinz, Вы писали:

P>file = fopen((char *)fname, "r")


P>все равное не пашет...


А если так: file = fopen((LPCSTR)fname, "r")
Пройдет ?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.