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