powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
16 сообщений из 16, страница 1 из 1
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
    #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
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
    #39860790
Oleg_Lin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать, в файлах English.txt и Rаssian.txt просто слова в столбик (в первом английские во втором русские*). Про ошибку в слове знаю, это специально.
...
Рейтинг: 0 / 0
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
    #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
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
    #39860806
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь в начало
Код: plaintext
1.
2.
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); 
...
Рейтинг: 0 / 0
Как изменить код, чтоб строки на русском яз. в файле, выводить на экран на русском языке?
    #39860844
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg_Linсам решить задачу не смог.

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

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

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

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


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