Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.98/41: Рейтинг темы: голосов - 41, средняя оценка - 4.98
35 / 35 / 18
Регистрация: 12.11.2011
Сообщений: 134
1

Вывод в файл на русском языке

29.02.2012, 13:02. Просмотров 7568. Ответов 6
Метки нет (Все метки)

Добрый день!!! Ребят, проконсультируйте, пожалуйста)
Программа, которая записывает текст в файл до тех пор, пока не введена пустая строка. Собственно говоря, как сделать так, чтобы вывод в файл, если я ввожу строку на русском языке, выполнялся корректно. Т.е. строка "русский язык" отображается в файле как "агббЄЁ© п§лЄ" .На английском все нормально)
И еще один вопрос: файл не открывается, если в пути к нему существует русская директория, например: D:/флеха/test.txt. Если же D:/flash/test.txt, то открывается. Можно ли как нибудь обойти это ограничение?

C++
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
#include<iostream>
#include<fstream>               //поток ввода-вывода
#include<cstring>               //для strlen
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");   //русский язык
    
    char namefile[40];
    char buffer[30];
 
    cin.getline(namefile, 39);      //ввод имени файла
    ofstream out(namefile);
 
    if(out.is_open())           //проверка открытия
        cout<<"Файл успешно открыт"<<endl;
    else
    {
        cout<<"Ошибка открытия файла"<<endl;
        return -1;
    }
 
    while(1)                //цикл, пока строка не будет
    {                       //равна нулю
        cin.getline(buffer,29);
 
        if(strlen(buffer)==0)       //если строка==0(нажат Enter)
        {                           //выход из цикла
            cout<<"Ввод окончен"<<endl;
            out.close();
            return 1;
        }
        out<<buffer<<endl;
    }
 
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.02.2012, 13:02
Ответы с готовыми решениями:

Ввод и вывод в файл на русском языке
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt;...

Вывод значений на Русском языке
Доброе всем время суток. Не получается вывести вводимые значения на Русском языке на экран....

Вывод числительных на русском языке.
Напишите программу, которая читает целое положительное число в десятичном представлении, а на...

Ввод и вывод строк на русском языке (кирилице)
Здравствуйте уважаемые форумчани! При решении упражнения возникла следующая проблема, необходимо...

6
13 / 13 / 6
Регистрация: 05.12.2011
Сообщений: 84
29.02.2012, 17:41 2
C++
1
setlocale(0, "Rus");
1
35 / 35 / 18
Регистрация: 12.11.2011
Сообщений: 134
29.02.2012, 18:38  [ТС] 3
Спасибо большое!!! Действительно, работает!!!
А чем, собственно говоря, различаются
C++
1
setlocale(0, "Rus");
и
C++
1
setlocale(LC_ALL, "Russian");
0
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
29.02.2012, 18:58 4
Цитата Сообщение от DPS Посмотреть сообщение
C++
1
2
ofstream out(namefile); 
if(out.is_open()) //проверка открытия
А зачем проверять?
По идее файлы, куда выводится информация создаются заново, разве нет.
0
35 / 35 / 18
Регистрация: 12.11.2011
Сообщений: 134
29.02.2012, 19:15  [ТС] 5
Цитата Сообщение от AncinetHero Посмотреть сообщение
А зачем проверять?
По идее файлы, куда выводится информация создаются заново, разве нет.
Так в книжках пишут, что проверка открытия считается хорошим тоном

И опять-таки, можно увидеть, что файл не открывается(не может быть создан). Это возможно, как у меня написано выше, если в пути к нему существует русская директория, например: D:/флеха/test.txt, если же путь будет на английском языке D:/flash/test.txt, все будет нормально и файл будет создан.
0
13 / 13 / 6
Регистрация: 05.12.2011
Сообщений: 84
29.02.2012, 23:17 6
Цитата Сообщение от DPS Посмотреть сообщение
Спасибо большое!!! Действительно, работает!!!
А чем, собственно говоря, различаются
C++
1
setlocale(0, "Rus");
и
C++
1
setlocale(LC_ALL, "Russian");
C++
1
#define LC_ALL 0
1
1 / 1 / 3
Регистрация: 17.12.2017
Сообщений: 21
14.12.2019, 17:43 7
Это на офиц. сайте написано про 0.
0
Миниатюры
Вывод в файл на русском языке  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2019, 17:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Кодировка: вывод данных на русском языке в консоль
Здравствуйте, уважаемые форумчане! Есть проблема с выводом данных в консоль. Нужно вывести данные...

Как реализовать ввод/вывод текста на русском языке?
Вечер добрый, друзья. Вот только что зарегистрировался, т.к. уже нет сил бороться с одной...

Дан файл, содержащий текст на русском языке
Дан файл, содержащий текст на русском языке. Cоставить в алфавитном порядке список всех слов,...

Сохранить в файл текст, введенный из консоли, на русском языке
ввожу с клавиатуры данные в структуру, сохраняю их в файл, а потом опять вывожу на экран. в консоли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.