#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 уничтожается, и указатель указывает... куда? Дальше не пояснять?
Комментариев нет:
Отправить комментарий