множество проблем со строковыми типами
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



множество проблем со строковыми типами Expand / Collapse
Автор
Сообщение
05.04.2007 20:28
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 30.05.2007 6:40
Сообщ.: 3, Visits: 13
Здраствуйте! Программирую на VC++2005
Возникло множество проблем со строковыми типами в связи с переходом с VC++2003
try
{
CStdioFile file( _T("c:\\test.txt"), CFile::modeRead || CFile::typeText );
CString buf;
file.ReadString( buf ); // здесь вызывается исключение и пишет "неизвесная ошибка". Почему??
AfxMessageBox( buf );
file.Close();
}
catch( CFileException* pe )
{
pe->ReportError();
}

Еще вот: '_access' : cannot convert parameter 1 from 'LPCTSTR' to 'const char *'
public:
static BOOL FileExists(LPCTSTR lpszFileName)
{
return (0 == (_access(lpszFileName, 4)));
}


Помогите, просто руки опускаются
Сообщ. #912284
08.04.2007 3:51


Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 30.06.2007 8:03
Сообщ.: 28, Visits: 42
ругается, потому что ожидает ASCI-строку, а ты ему передаешь Unicode (по умолчанию в VS2005 проект создается как Unicode).
Так что либо поменяй настройку для пользования ASCI, либо применяй функции, поддерживающие Unicode
Сообщ. #912313
10.04.2007 23:55
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: вчера @ 14:54
Сообщ.: 60, Visits: 639
Вообще-то классы MFC поддерживают юникод. Автор топика передавал аргумент конструктору правильно - с помощью макроса _T("") и в зависимости от настроек проекта (unicode, asci) и код будет компилироваться по-разному с подстановкой L или без к началу строки. Конструктор класса CStdioFile, ведь принимает параметр LPCTSTR.

А приведенный код рабочий, у себя проверил, - работает.
Сообщ. #912367
14.04.2007 3:31


Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 30.06.2007 8:03
Сообщ.: 28, Visits: 42
_access все же требует ASCI. для Unicode - _waccess. Или же использовать тогда _taccess в дополнение к использованию _t-макросов
Сообщ. #912454
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:28