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

русский алфавит - C++

Восстановить пароль Регистрация
 
cripok
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 15
28.04.2013, 19:00     русский алфавит #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
 
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
int main()
{
 FILE *fi;
 
 fi=fopen("C:\\chislo.txt","rb");
 
 char ch=fgetc(fi);
 printf("%c %d",ch,ch);
 
 getch();
 
 return 0;
}
в файле текст: крокодил
почему результат работы проги: ъ -22
а не: к 170

Добавлено через 13 минут
почему -22 а не 170 я понял: ибо тип char имеет значения от -128 до 127.. а вот почему выводится символ "ъ" вместо "к" я не могу понять..

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
 
 
int main()
{
    FILE* fi=fopen("C:\\Games\\chislo.txt","r");
 
    char ch;
    while(!feof(fi))
    {
        ch=fgetc(fi);
        printf("%c",ch);
    }
 
    getch();
    return 0;
}
текст тот же: крокодил. Результат: ъЁюъюфшыа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 19:00     русский алфавит
Посмотрите здесь:

Русский ввод и русский вывод C++
C++ Строки и русский алфавит
C++ Алфавит
Алфавит вивод C++
Алфавит C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
28.04.2013, 19:07     русский алфавит #2
Добавьте вот это
C++
1
2
3
#include <windows.h>
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
cripok
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 15
28.04.2013, 19:13  [ТС]     русский алфавит #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
#include <windows.h>
 
 
 
int main()
{
    SetConsoleCP(1251);
           SetConsoleOutputCP(1251);
    FILE* fi=fopen("C:\\Games\\chislo.txt","r");
 
    char ch;
    while(!feof(fi))
    {
        ch=fgetc(fi);
        printf("%c",ch);
    }
 
    getch();
    return 0;
}
результат аналогичен

Добавлено через 2 минуты
Суть моего вопроса такова: у меня имеется файл с набором символов(и русские буквы и английиские и цифры и т.д.) мне нужно сохранить этот символ в переменной char и вывести вместе с его номером
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
28.04.2013, 19:36     русский алфавит #4
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
 
 
int main()
{
    setlocale(LC_ALL, ".1251");
    wifstream filein(_wfopen(L"D:\\test.txt", L"rb"));
    wchar_t ch;
    while (!filein.eof())
    {
        filein>>ch;
        wcout<<ch;
    }
    filein.close();
    getch();
    return 0;
}
Добавлено через 25 секунд
там возможно есть лишние библиотеки. можете их отключить.
Yandex
Объявления
28.04.2013, 19:36     русский алфавит
Ответ Создать тему
Опции темы

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