Ошибка обработки файла в строке 2 cannot convert field value to char
на строке Str = Edit1->Text.c_str(); возникает ошибка:
[bcc32 Error] Unit3.cpp(22): E2034 Cannot convert 'wchar_t *' to 'char *'
Очевидно, что Edit1->Text имеет тип std::wstring (или что-то производное от этого, например CString ) и c_str() соответственно, возвращает const wchar_t* . Правильно будет написать (22-я строка)
7,266 10 10 серебряных знаков 29 29 бронзовых знаков @alexolut не зная, что такое Edit1 об этом можно только гадать. Это может быть MyOwnVeryAttractiveWideString ) Вы наверное никогда не работали в C++ Builder, если так думаете. В принципе, я Вам даже завидую.Если вам и правда надо wchar_t* конвертировать в char* то у вас два варианта, простой и сложный.
Более сложный WideCharToMultiByte примеры тут указываете кодировку, готовите переменные и конвертируете.
Конвертация нужна если вы используете функции для char* (sscanf), это принципиально два разных типа данных. unicode может содержать много разных символов из нескольких алфавитов, которых в таблице ASCII может не оказаться, сегодня стараються уйти от ASCII к Unicode или utf-8 что бы не иметь проблем с кодировкой. Что бы не конвертировать - можно поискать аналогичные функции для wchar_t* (по идее аналог должен быть sscanfW но не уверен что он есть).
Читайте также: