Cannot convert 'wchar_t *' to 'char *'

320
09 февраля 2017, 00:52

При компиляции кода:

float x,y,n,k; 
char* Str;
Str = Edit1->Text.c_str();
sscanf (Str, "%f %f %f ", &k, &n, &x);
y = k*sqrt(fabs(x))+x*n;
Edit1->Text = FloatToStrF (y, ffFixed, 6, 3);

на строке Str = Edit1->Text.c_str(); возникает ошибка:

[bcc32 Error] Unit3.cpp(22): E2034 Cannot convert 'wchar_t *' to 'char *'

Скриншот:

Answer 1

Очевидно, что Edit1->Text имеет тип std::wstring (или что-то производное от этого, например CString) и c_str() соответственно, возвращает const wchar_t*. Правильно будет написать (22-я строка)

const wchar_t* Str = Edit1->Text.c_str()
READ ALSO
При выводе на экран появляются лишние переводы строк

При выводе на экран появляются лишние переводы строк

Добрый день, помогите разобратьсяПри выводе на экран файла в обратном порядке появляются лишние переводы строки

349
C++ XML: не удается построить проект с tinyxml

C++ XML: не удается построить проект с tinyxml

Всем привет! Скачал tinyxml (26

509
Проблема с OpenCV - undefined reference

Проблема с OpenCV - undefined reference

Решил изучить OpenCV

483