День добрый! На C++ считываю данные из файла. В конце имею string, которую мне надо представить в виде const char*, для чего использую .c_str(). Но возвращает он какой-то бред (не только с кириллицей проблемы, а вообще с любым текстом). Файл сохранены в кодировке ANSI. Как можно решить проблему? Код чтения:
ifstream ifs(path);
if (ifs.is_open())
{
string s;
s.assign((istreambuf_iterator<char>(ifs.rdbuf())), istreambuf_iterator<char>());
cout << s;
ifs.close();
return s.c_str();
}
else
return "";
Ну, начнем с того, что вы возвращаете указатель локального объекта, который после вашего return уничтожается, и указатель указывает... куда?
Дальше не пояснять?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей