Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
1

Не реагирует на русский язык

04.06.2013, 10:51. Показов 1851. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В cmd Visual C++ 2010 express после какого-то времени работы стали выводится какието каракули там, где должен быть русский язык + на русский язык он вообще не реагирует. вот код телефонной книги
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
42
43
44
45
46
47
48
49
50
51
52
53
54
// Телефонная книга
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
 
class Number
{
public:
  string name;
  string number;
  Number(const Number &v): 
    name(v.name),
    number(v.number) {}
  Number() {}
  const Number &operator=(const Number &v)
  {
    name = v.name;
    number = v.number;
    return v;
  }
};
 
int main()
{
  fstream f("file.txt");
  vector<Number> telBook;
  while (true)
  {
    Number t;
    f >> t.name;
    if (f.eof())
      break;
    f >> t.number;
    if (f.eof())
      break;
    telBook.push_back(t);
  }
  while (true)
  {
    cout << ("Имя или стоп - ");
    string name;
    cin >> name;
    if (name == "стоп")
      break;
    for (int i = 0; i < telBook.size(); ++i)
    {
      if (telBook[i].name == name)
    cout << name << " " << telBook[i].number << endl;
    }
  }
    
}
при активации в cmd такая вот билебирда(скрин 1)
имена в file.txt мне пришлось менять все на английский, тк когда я их прописывал на русском программа не реаигировала(скрин 2), а на английском работала как миленькая(скрин 3).
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
42
43
44
45
46
47
48
49
50
51
52
53
54
// Телефонная книга
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
 
class Number
{
public:
  string name;
  string number;
  Number(const Number &v): 
    name(v.name),
    number(v.number) {}
  Number() {}
  const Number &operator=(const Number &v)
  {
    name = v.name;
    number = v.number;
    return v;
  }
};
 
int main()
{
  fstream f("file.txt");
  vector<Number> telBook;
  while (true)
  {
    Number t;
    f >> t.name;
    if (f.eof())
      break;
    f >> t.number;
    if (f.eof())
      break;
    telBook.push_back(t);
  }
  while (true)
  {
    cout << ("Name or stop - ");
    string name;
    cin >> name;
    if (name == "stop")
      break;
    for (int i = 0; i < telBook.size(); ++i)
    {
      if (telBook[i].name == name)
    cout << name << " " << telBook[i].number << endl;
    }
  }
    
}
+ 1)прога почему-то не видит первой строчки файла(file.txt)
+ 2) Объясните, как работает и какую роль в программе играет
C++
1
2
3
4
5
6
7
8
9
10
Number(const Number &v): 
    name(v.name),
    number(v.number) {}
  Number() {}
  const Number &operator=(const Number &v)
  {
    name = v.name;
    number = v.number;
    return v;
  }
Пожааалуйста помогите!
Миниатюры
Не реагирует на русский язык   Не реагирует на русский язык   Не реагирует на русский язык  

Вложения
Тип файла: txt file.txt (215 байт, 9 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 10:51
Ответы с готовыми решениями:

Xcode , С++ и русский язык: как вывести в файл русский текст без сбитой кодировки?
Как сделать так, чтобы после некоторых манипуляций в файл выводился русский текст без сбитой...

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

русский язык
Вопрос один, как поставить русский язык ODude Ecard . Объясняют ...

русский язык
Народ а подскажите как сделать что бы В Visual C++ в консоьлных приложених распознавал русский...

29
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
05.06.2013, 10:16 21
Author24 — интернет-сервис помощи студентам
Попробуйте заменить свои файлы на те, что в архиве и скомпилировать проект. Они аналогичны Вашим(с SetConsoleCP и т.д.), просто в другой кодировке
ansi_code.zip
1
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
05.06.2013, 10:21  [ТС] 22
для aslav22. я не заметил пост. Сижу через модем, так что не всё прогружается. Вот. Только сразу говорю, проблема не решилась. К тому же я писал, что пробовал эти методы. Вы тоже не заметили пост.
ой. я не те файлы прикрепил, постом ниже будут те. но проблема не решилась.
Миниатюры
Не реагирует на русский язык   Не реагирует на русский язык  
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
05.06.2013, 10:24 23
Цитата Сообщение от Domonion Посмотреть сообщение
К тому же я писал, что пробовал эти методы.
в приведенных скриншотах отсутствуют строчки
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Добавлено через 1 минуту
А на скриншоте alsav22 они есть
0
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
05.06.2013, 10:25  [ТС] 24
Цитата Сообщение от Domonion Посмотреть сообщение
ой. я не те файлы прикрепил, постом ниже будут те. но проблема не решилась.
вах-вах-вах
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
05.06.2013, 10:26 25
Пост 21 попробуйте выполнить
0
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
05.06.2013, 10:40  [ТС] 26
Для aslav. Твоя программа работает, но для моей волшебные строчки
C++
1
2
SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
не помогли.
Огромное спасибо Croessmah! Да, дело было в кодировке, всё заработало.
Извини, пожалуйста, kazak, из-за моего медленного интеренета тебя не прогрузило.
Однако тема не закрыта! Вы же не забыли
Цитата Сообщение от Domonion Посмотреть сообщение
+ 1)прога почему-то не видит первой строчки файла(file.txt)
+ 2) Объясните, как работает и какую роль в программе играет
C++
1
2
3
4
5
6
7
8
9
10
Number(const Number &v): 
    name(v.name),
    number(v.number) {}
  Number() {}
  const Number &operator=(const Number &v)
  {
    name = v.name;
    number = v.number;
    return v;
  }
Пожааалуйста помогите!
Скрины прекреплять не удается, инет тормозит(хотя они весят там по мб 1-2)
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2013, 10:45 27
Цитата Сообщение от Domonion Посмотреть сообщение
Вы тоже не заметили пост
Заметил я всё. Мне нужен определённый код (мой), а не тот, которые вы пробовали и неизвестно как (только с ваших слов).

Добавлено через 4 минуты
Если не работает конкретный код, не нужно писать так , как будто вообще, в системе, не работает русский язык при запуске .exe.
Цитата Сообщение от Domonion Посмотреть сообщение
Однако тема не закрыта! Вы же не забыли
Это уже другая тема.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
05.06.2013, 10:48 28
Цитата Сообщение от Domonion Посмотреть сообщение
прога почему-то не видит первой строчки файла(file.txt)
Дубль записи из из файла file.txt удален.
Результат выполнения:
Название: Безымянный.png
Просмотров: 17

Размер: 1.5 Кб
0
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
05.06.2013, 10:59  [ТС] 29
Да, из вашего file.txt всё работает хорошо. Но всё-таки объяснить
C++
1
2
3
4
5
6
7
8
9
10
Number(const Number &v): 
    name(v.name),
    number(v.number) {}
  Number() {}
  const Number &operator=(const Number &v)
  {
    name = v.name;
    number = v.number;
    return v;
  }
значение вот этого можете? просто если убрать эту часть, работает точно так же
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
05.06.2013, 11:03 30
Конструктор копий, конструктор по умолчанию и оператор присваивания. В данном случае, если их убрать, то компилятор автоматически сгенерирует такие же по функциональности
0
05.06.2013, 11:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2013, 11:03
Помогаю со студенческими работами здесь

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

Русский язык
Программа у меня на русском (caption'ы и т. д.). Отправляю другу (без разницы - отправлял чистый...

Русский язык
В общем у меня такая проблема , имеется код , в котором нужно что бы выводились русские буквы...

русский язык
Использую компилятор Dev C++ , при выводе результата если написать слово про русски то оно...

Русский язык....
Вот и в политехе русский есть... бб.. Кто нить поможет тот кто шарит в этом? Не выражаться!

Русский язык
Что сделать чтоб в делфе 2007 воспринимало русский (пишет иероглифами при выполнении программы)


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru