Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке? / 16 сообщений из 16, страница 1 из 1
12.09.2019, 11:29
    #39860789
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Проблема: выводит непонятные символы из файла на экран вместо русского языка.
(Тапками сильно не бросайте пожалуйста, я пока не опытен и сейчас пишу первою полезную программу.*)
Ответ в интернете не нашёл, а сам решить задачу не смог.
Вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
#include <iostream>
#include <fstream>
#include <string>

using namespace std;
void ff(int a);

int output_to_sreen(int d)
{
	cout << "Какую сторону вы хотите учить? \n" << "Для rassian нажмите 1, для english 2, ";
	cout << "для выхода нажмите 3.\n";
	int a(0);
	cin >> a;
	switch(d)
	{
		case 1:
			ff(a);
			return 0;
			break;
		default:
			return a;
	}
}

void ff(int a)
{
	if (a == 1)
	{
		for (ifstream inf("Rassian.txt"); inf;)
		{
				string strInput;
				getline(inf, strInput);
				cout << strInput << endl;
		}
		output_to_sreen(1);
	}
	else if (a == 2)
	{
		for (ifstream inf("English.txt"); inf;)
		{
			string strInput;
			getline(inf, strInput);
			cout << strInput << endl;
		}
		output_to_sreen(1);
	}
	else if (a == 3)
	{
		cout << "Exit \n";
		exit;
	}
	else if (a != 1 && 2 && 3)
	{
		cout << "Вы ввели не то число, попробуйте заного! \n";
		output_to_sreen(1);
	}
}

int main()
{
	locale loc("Russian");
	locale::global(loc);
	ff (output_to_sreen(0));
	return 0;
}
...
Рейтинг: 0 / 0
12.09.2019, 11:33
    #39860790
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Забыл сказать, в файлах English.txt и Rаssian.txt просто слова в столбик (в первом английские во втором русские*). Про ошибку в слове знаю, это специально.
...
Рейтинг: 0 / 0
12.09.2019, 11:41
    #39860793
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Извиняюсь, вон нормально выглядящий код. Хотел отредактировать вопрос, но не нашел как (удалить тоже не смог.*)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
#include <iostream>
#include <fstream>
#include <string>

using namespace std;
void ff(int a);

int output_to_sreen(int d)
{
	cout << "Какую сторону вы хотите учить? \n" << "Для rassian нажмите 1, для english 2, ";
	cout << "для выхода нажмите 3.\n";
	int a(0);
	cin >> a;
	switch(d)
	{
		case 1:
			ff(a);
			return 0;
			break;
		default:
			return a;
	}
}

void ff(int a)
{
	if (a == 1)
	{
		for (ifstream inf("Rassian.txt"); inf;)
		{
				string strInput;
				getline(inf, strInput);
				cout << strInput << endl;
		}
		output_to_sreen(1);
	}
	else if (a == 2)
	{
		for (ifstream inf("English.txt"); inf;)
		{
			string strInput;
			getline(inf, strInput);
			cout << strInput << endl;
		}
		output_to_sreen(1);
	}
	else if (a == 3)
	{
		cout << "Exit \n";
		exit;
	}
	else if (a != 1 && 2 && 3)
	{
		cout << "Вы ввели не то число, попробуйте заного! \n";
		output_to_sreen(1);
	}
}

int main()
{
	locale loc("Russian");
	locale::global(loc);
	ff (output_to_sreen(0));
	return 0;
}
...
Рейтинг: 0 / 0
12.09.2019, 12:00
    #39860806
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Добавь в начало
Код: plaintext
1.
2.
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); 
...
Рейтинг: 0 / 0
12.09.2019, 12:44
    #39860844
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Oleg_Linсам решить задачу не смог.

И не сможешь. На вопросах кодировок ломают зубы и гораздо более опытные зубры. Начни с теории.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.09.2019, 13:47
    #39860922
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Dima T, не помогло

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>

using namespace std;
void ff(int a);

int output_to_sreen(int d)
{
	cout << "Какую сторону вы хотите учить? \n" << "Для rassian нажмите 1, для english 2, ";
	cout << "для выхода нажмите 3.\n";
	int a(0);
	cin >> a;
	switch(d)
	{
		case 1:
			ff(a);
			return 0;
			break;
		default:
			return a;
	}
}

void ff(int a)
{
	if (a == 1)
	{
		for (ifstream inf("Rassian.txt"); inf;)
		{
				string strInput;
				getline(inf, strInput);
				cout << strInput << endl;
		}
		output_to_sreen(1);
	}
	else if (a == 2)
	{
		for (ifstream inf("English.txt"); inf;)
		{
			string strInput;
			getline(inf, strInput);
			cout << strInput << endl;
		}
		output_to_sreen(1);
	}
	else if (a == 3)
	{
		cout << "Exit \n";
		exit;
	}
	else if (a != 1 && 2 && 3)
	{
		cout << "Вы ввели не то число, попробуйте заного! \n";
		output_to_sreen(1);
	}
}

int main(int argc, char** argv)
{
	setlocale(LC_CTYPE, "rus");
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	ff (output_to_sreen(0));
	return 0;
}
...
Рейтинг: 0 / 0
12.09.2019, 13:48
    #39860923
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Dima T,

...
Рейтинг: 0 / 0
12.09.2019, 13:51
    #39860927
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Oleg_Lin,

Придется почитать про кодировки вообще и про UTF8 в часности...
...
Рейтинг: 0 / 0
12.09.2019, 14:04
    #39860944
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Oleg_LinDima T, не помогло
Помогло, то что в коде - написано по-русски ("Какую сторону ..."). А файл похоже в кодировке UTF-8, гугли как из UTF-8 в 1251 преобразовать.
...
Рейтинг: 0 / 0
12.09.2019, 14:20
    #39860960
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Dima T, помогло следующее: Открыть этот файл в Microsoft Office Word,файл, сохранить как, обычный текст, Windows(по умолчанию).
Спасибо что помогли разобраться в чём была проблема.
...
Рейтинг: 0 / 0
12.09.2019, 23:20
    #39861212
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Oleg_Lin, с текстовыми файлами не работают через Word.

Тексты. Проперти. Конфиги и исходные коды надо открывать в средах разработки или в специальных
редакторах типа Sublime, NodePad++, Atom.
...
Рейтинг: 0 / 0
14.09.2019, 14:12
    #39861909
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
mayton, раньше стоял у меня он, сейчас удалил и поставил Visual Studio Code, так как notepad+++ обнулял фалы txt.
...
Рейтинг: 0 / 0
14.09.2019, 14:15
    #39861912
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Как обнулял? Это дефект notepad? Можешь привести шаги по воспроизведению?
...
Рейтинг: 0 / 0
14.09.2019, 14:16
    #39861913
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
mayton, Открыл первую попавшуюся под курсор программу. Особой разницы не увидел, так как word спросил про кодировку. Ну а на будущие буду знать.
...
Рейтинг: 0 / 0
14.09.2019, 14:21
    #39861915
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
Ничего не понял. Ладно забей.
...
Рейтинг: 0 / 0
14.09.2019, 14:53
    #39861919
Oleg_Lin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
mayton, Ок, но про воспроизведение не знаю. Были файлы с кодом txt и с текстом обычным. Те что с кодом он обнулил (имею ввиду что они пустые были и весели 0) остальные не трогал. Такое было два раза, после второго раза его удалил.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]