Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.10.2019, 13:46   #1
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 4
По умолчанию Консоль не распознает символы

Здравствуйте многоуважаемые форумчане!!!

Помогите пожалуйста найти ошибку в коде над которой я уже бьюсь который день. Я новичок в языке программирования С++, и поэтому многое еще не понимаю. Начал я изучать данный язык недавно по книге "Самоучитель С++" автор Крупник А.. И сейчас я остановился вытаскивании строк из файла: листинг ниже
Код:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <windows.h>
#include <cstdio>
using namespace std;
int main() {
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	setlocale(LC_ALL, ".1251");
	cout.imbue(locale(".1251"));
	char buff[80];
	vector<string> s;
	ifstream infile;
	infile.open("C:\\proba\\file.txt");
	while (1)
	{
		infile.getline(buff, sizeof(buff));
		if (infile.eof()) break;
		s.push_back(buff);
	}
	sort (s.begin(), s.end());
	for (int i = 0;  i < s.size(); i++)
		cout << s[i] << endl;
	infile.close();
}
В итоге она не распознает не латинские символы, не кириллицу.
рисунок ниже
Нажмите на изображение для увеличения
Название: console2.png
Просмотров: 70
Размер:	15.8 Кб
ID:	97843
Подскажите пожалуйста что я неправильно делаю.
Заранее благодарю
с Уважением Ким Евгений

Последний раз редактировалось mikkijon; 03.10.2019 в 13:47. Причина: ошибка в заголовке
mikkijon вне форума   Ответить с цитированием
Старый 03.10.2019, 13:48   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,034
По умолчанию

Так файл где?
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 03.10.2019, 13:53   #3
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 4
По умолчанию

file.txtсейчас перешлю
с Уважением Ким Евгений
mikkijon вне форума   Ответить с цитированием
Старый 03.10.2019, 13:53   #4
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,454
По умолчанию

Пишите на английском, заодно подтянете его )

В С++ не так просто писать в стандартную консоль винды не на английском (на линуксе проще, там utf-8 по умолчанию).
Еще при чтении из файла надо знать его кодировку, может у вас там utf-8, а не 1251.
Alex11223 на форуме   Ответить с цитированием
Старый 03.10.2019, 13:55   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,034
По умолчанию

Файл в досовской кодировке, которая 866
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 03.10.2019, 13:57   #6
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 4
По умолчанию

Да файл в досовской кодировке. А на русском тут никак не получиться?
с Уважением Ким Евгений
mikkijon вне форума   Ответить с цитированием
Старый 03.10.2019, 13:59   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,034
По умолчанию

Причем тут русский? Файл в кодировке 866, в программе для консоли вы выставляете 1251. Или вы просто накопипастили строк?
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 03.10.2019, 14:00   #8
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 4
По умолчанию

все я понял в чем ошибка спасибо большое
с Уважением Ким Евгений
mikkijon вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C#] человек вводит в консоль «1» программа генерирует случайное число от 1 до 4 ( включительно ) затем человек моден ввести в консоль ещё раз и так каждый раз Илья06072000 C# (си шарп) 19 04.06.2019 23:52
Ноутбук не распознает USB мышь sgtEnigma Железо 1 12.01.2017 22:34
Не распознает make. Lunex.08 Qt и кроссплатформенное программирование С/С++ 5 08.08.2010 16:25
Не распознает катридж Syltan Железо 30 24.11.2009 17:19
TD не распознает русский текст Natalia-xxx- Assembler - Ассемблер 3 05.03.2009 16:22


16:05.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.