Форум программистов, компьютерный форум CyberForum.ru

Вместо текста компилятор выдает иероглифы - C++

Восстановить пароль Регистрация
 
Моеимя
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 9
21.08.2016, 19:32     Вместо текста компилятор выдает иероглифы #1
Программа считывает текст из файла, но вместо слов выдает набор непонятных символов.
Пыталась переделать по-всякому, но становилось только хуже

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[]){
setlocale(LC_ALL, "rus");
ifstream flpr("pz_3.2.cpp",ios::binary);
if(!flpr){cout << "Не открывается указанный файл\n"; return 1;}
 
while(!flpr.eof())cout<< hex << flpr.get();
cout << endl;
flpr.close();
getch();
return 0;
}
Миниатюры
Вместо текста компилятор выдает иероглифы  
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2139 / 972 / 223
Регистрация: 30.11.2013
Сообщений: 3,241
21.08.2016, 19:37     Вместо текста компилятор выдает иероглифы #2
C++
1
cout<< hex << flpr.get();
Hex - https://ru.wikipedia.org/wiki/%D0%A8...BD%D0%B8%D1%8F

Шестнадцатеричная система счисления — позиционная система счисления по целочисленному основанию 16. В качестве цифр этой системы счисления обычно используются цифры от 0 до 9 и латинские буквы от A до F. Буквы A, B, C, D, E, F имеют значения 1010, 1110, 1210, 1310, 1410, 1510 соответственно.
Нашли там 0..F ? Я да.
Моеимя
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 9
22.08.2016, 13:54  [ТС]     Вместо текста компилятор выдает иероглифы #3
Да, действительно. Но без hex мало что поменялось - выдает цифры в десятичном виде вместо букв. А с этим что можно поделать?
DrOffset
6460 / 3834 / 885
Регистрация: 30.01.2014
Сообщений: 6,629
22.08.2016, 13:58     Вместо текста компилятор выдает иероглифы #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Моеимя Посмотреть сообщение
cout<< hex << flpr.get();
get() возвращает int.
C++
1
cout << static_cast<char>(flpr.get());
Моеимя
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 9
22.08.2016, 14:04  [ТС]     Вместо текста компилятор выдает иероглифы #5
Огромное спасибо! вы мне очень помогли
Yandex
Объявления
22.08.2016, 14:04     Вместо текста компилятор выдает иероглифы
Ответ Создать тему
Опции темы

Текущее время: 13:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru