Задать вопрос
dmc1989
@dmc1989

Почему с++ не читает файл полностью?

Пока в файле были просто буквы с++ читал последний абзац, но вот когда записал туда такое, то получаю только первые 4 символа:
Rar! уб‚лЂЂЂ <;И'¬ kаЈЂ decoded.txt
OpяU&ЧЛ{л5dC3?Ue:TРJ	уЂ@%є
lАєZ(»юЧШI] IK6‘'w3spкЁpќь9OьТЪЫ…/eN©ёYШлV¦S†Ќ ЭW‰µЧ·БEБПwЈ8	щй‹дs“O6ЦгNЊЃшчЁќоl&HЙµ;Ў$Л$А…µК—]dлКэ—cШЃHџЈve‚@Y K‚Е4Ahq± ·9rm_0°\Ќ’щУИР"u+p<эаїµЎКнН01.ІЋjЕZ&WОЊ¬Џ У0г50yэаЂы±НZфLcФђЉn›ЭҐ;'TZґM®NЗ	ьё“_є6ПEB
 ьэї»х)jбLЃ–pхЯ’]8Ё:ёЫt+Р3+MЏџщЈЪ}„0¬E”ИotZ’Co|єl(Ё„DQБ(дП”ќ9-VҐZЫi¦ёцx®Тљq
©^сq`k'ѓМТФнiJ† h*К"Ї«с°
пЊє§ИN =І1AиNС—3к9Щ	Т‹Э>ЎЌЌћ`oAРHqЉз#’– )рgтОXђ`І~#ўIѕjц,уЖШ[рwVQ


Если записать текст в переменную то все ок. Но вот если попробовать прочитать с файла, то нне получается. Как правильно читать ввесь текст? В чем может быть проблема?
fstream my_file;
string text = "";

my_file.open(this->file_path, ios::in);
        
if (!my_file) {
    cout << "No such file";
} else {
    char ch;

    while (1) {
        my_file >> ch;
        if (my_file.eof()) break;
        text += ch;
    }
}

my_file.close();
        
return text;
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Какой смысл лепить бинарные данные в строку?
Чтобы получить пятым символом \0 и при выводе по-сишному строка на этом обрывалась?
Чего сделать-то хотел?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Сбер Москва
от 130 000 ₽
Wanted. Ростов-на-Дону
До 160 000 ₽
ClickStar Санкт-Петербург
от 150 000 до 300 000 ₽
27 дек. 2024, в 14:09
8000 руб./за проект
27 дек. 2024, в 13:50
6000 руб./за проект
27 дек. 2024, в 09:38
6000 руб./за проект