Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

Помогите пожалуйста найти ошибку в коде над которой я уже бьюсь который день. Я новичок в языке программирования С++, и поэтому многое еще не понимаю. Начал я изучать данный язык недавно по книге "Самоучитель С++" автор Крупник А.. И сейчас я остановился вытаскивании строк из файла: листинг ниже
Код:
#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
Подскажите пожалуйста что я неправильно делаю.
Заранее благодарю
с Уважением Ким Евгений

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

Так файл где?
p51x вне форума Ответить с цитированием
Старый 03.10.2019, 12:53   #3
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 8
По умолчанию

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

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

В С++ не так просто писать в стандартную консоль винды не на английском (на линуксе проще, там utf-8 по умолчанию).
Еще при чтении из файла надо знать его кодировку, может у вас там utf-8, а не 1251.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.10.2019, 12:55   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Файл в досовской кодировке, которая 866
p51x вне форума Ответить с цитированием
Старый 03.10.2019, 12:57   #6
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 8
По умолчанию

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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