Форум программистов, компьютерный форум CyberForum.ru

Работа с файлами: изменение регистра символа на противоположный - C++

Восстановить пароль Регистрация
 
wladua2015
1 / 1 / 0
Регистрация: 26.10.2015
Сообщений: 45
26.10.2015, 08:05     Работа с файлами: изменение регистра символа на противоположный #1
Всем привет нужно составить вот такую программу
Функция обработки символа : Изменение регистра на противоположный (рус)

ВОт то что я уже написал :
C++ (Qt)
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
#include <iostream>
#include <fstream>
#include <ctype.h>
 
 
 
using namespace std;
 
int main()
{
    ifstream ifs("in.txt");
    if (ifs==NULL)
          {
          cout <<"Ошибка входной файл не найден \n";
          exit(1);
          }
 
    ofstream ofs("out.txt");
    if (ofs==NULL)
          {
          cout <<"Обишка выходной файл не найден \n";
          exit(1);
          }
     setlocale(LC_ALL, "Russian");
    char c;
    while ( ifs.get(c) )
    {
 
        if(islower(c))
              c=toupper(c);
        else
              c=tolower(c);
        ofs << c;
    }
 
    ofs.close();
 
    cout << "Все хорошо все работает! \n";
    return 0;
}

Но получается что менять только ANSI ,подскажите как изменить на русские
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 08:05     Работа с файлами: изменение регистра символа на противоположный
Посмотрите здесь:

Изменение порядка символов в строке s на противоположный C++
C++ С++ изменение регистра стринга
C++ Изменение начальных строк символа
изменение регистра букв в файле C++
Имена переменных начинающиеся с двух подчеркиваний или с символа подчеркивания и следующей за ним буквы верхнего регистра C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
26.10.2015, 08:18     Работа с файлами: изменение регистра символа на противоположный #2
C++
1
2
3
4
5
6
7
8
int main()
{
    setlocale(LC_ALL,"Rus");
...
    unsigned char c;
    while(ifs>>c)
    {
        if(....
wladua2015
1 / 1 / 0
Регистрация: 26.10.2015
Сообщений: 45
26.10.2015, 14:07  [ТС]     Работа с файлами: изменение регистра символа на противоположный #3
Если честно ничего не понял

Добавлено через 3 минуты
zss, вот так
C++ (Qt)
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
#include <iostream>
#include <fstream>
#include <ctype.h>
 
 
 
using namespace std;
 
int main()
{
    ifstream ifs("in.txt");
    if (ifs==NULL)
          {
          cout <<"Ошибка входной файл не найден \n";
          exit(1);
          }
 
    ofstream ofs("out.txt");
    if (ofs==NULL)
          {
          cout <<"Обишка выходной файл не найден \n";
          exit(1);
          }
     setlocale(LC_ALL, "Russian");
     unsigned char c;
         while(ifs>>c)
    {
 
        if(islower(c))
              c=toupper(c);
        else
              c=tolower(c);
        ofs << c;
    }
 
    ofs.close();
 
    cout << "Все хорошо все работает! \n";
    return 0;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
26.10.2015, 16:48     Работа с файлами: изменение регистра символа на противоположный #4
setlocale поднимите вверх, сразу после main(){
Т.к. иначе cout <<"Ошибка входной файл не найден \n";
выведется каракулями.
wladua2015
1 / 1 / 0
Регистрация: 26.10.2015
Сообщений: 45
26.10.2015, 22:08  [ТС]     Работа с файлами: изменение регистра символа на противоположный #5
у меня лично все компилируется,но мне нужно менять русский на противоположный

Добавлено через 4 часа 6 минут
Может кто помочь ?
wladua2015
1 / 1 / 0
Регистрация: 26.10.2015
Сообщений: 45
31.10.2015, 19:52  [ТС]     Работа с файлами: изменение регистра символа на противоположный #6
Еще актуально кто может решить эту проблему?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2015, 09:53     Работа с файлами: изменение регистра символа на противоположный
Еще ссылки по теме:

Изменение цвета символа в консоле C++
изменение значения символа в строке C++
[С++]Изменение регистра в строке C++

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

Или воспользуйтесь поиском по форуму:
nmcf
4324 / 3745 / 1260
Регистрация: 14.04.2014
Сообщений: 14,688
01.11.2015, 09:53     Работа с файлами: изменение регистра символа на противоположный #7
Какая ОС и компилятор? Локаль вставить в самое начало main(). c сделать int.
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
39
40
41
#include <iostream>
#include <fstream>
#include <ctype.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    ifstream ifs("in.txt");
    if (ifs==NULL)
          {
          cout <<"Ошибка входной файл не найден \n";
          exit(1);
          }
 
    ofstream ofs("out.txt");
    if (ofs==NULL)
          {
          cout <<"Обишка выходной файл не найден \n";
          exit(1);
          }
 
    int c;
 
    while ((c = ifs.get()) != EOF)
    {
 
        if (islower(c))
              c=toupper(c);
        else
              c=tolower(c);
        ofs << (char)c;
    }
 
    ofs.close();
 
    cout << "Все хорошо все работает! \n";
    return 0;
}
Yandex
Объявления
01.11.2015, 09:53     Работа с файлами: изменение регистра символа на противоположный
Ответ Создать тему
Опции темы

Текущее время: 06:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru