Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
slow_pock
1 / 1 / 5
Регистрация: 20.04.2015
Сообщений: 19
#1

Setlocale в заголовочном файле - C++

11.10.2015, 13:14. Просмотров 255. Ответов 2
Метки нет (Все метки)

main.cpp
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
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include "studio.h"
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian"); // Проблема при вводе на русском пишет иероглифы  
    int age3;
    string name3;
    
    cout<<"You name?"<<endl;
    cin>>name3;
    
    cout<<"You age?"<<endl;
    cin>>age3;
    
    Human FirstMan;
    FirstMan.setName(name3);
    FirstMan.setAge(age3);
    FirstMan.print();
    
    system("PAUSE");
}
stuidio.h
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
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
 
using namespace std;
 
class Human
{     
      private:
              int age;
              string name;
      public:
                          
             void setName(string setN)
             {
                  name = setN;
             }
             
             void setAge(int setA )
             {
                  age =setA;     
             } 
                 
             void print()
             {
                  cout<<"you name " <<name<<endl;
                  cout<<"you age "  <<age<<endl;
             }
             
      
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2015, 13:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Setlocale в заголовочном файле (C++):

Функции в заголовочном файле
Почему нельза задать тело функции в .h файле??? например(header.h): #ifndef...

Переменная в заголовочном файле
//qwer.h class qwer { public: extern int a; }; //qwer.cpp #include...

С - С++ enum в заголовочном файле
ситуация примерно такая компилятор gcc есть заголовочный файл в нем...

Структура в заголовочном файле
Код .h: // file.h #pragma once struct Worker { char name; int cdate;...

Не подключается namespace в заголовочном файле
Всем доброго дня. Ситуация такая: common.h #pragma once namespace...

Объявление класса в заголовочном файле
Здравствуйте. Столкнулся с тем что нужно скомпилировать библиотеку для C++....

2
nmcf
6247 / 5559 / 2529
Регистрация: 14.04.2014
Сообщений: 23,381
11.10.2015, 14:55 #2
setlocale() на ввод не влияет. По крайней мере в Windows.
0
hoggy
Заблокирован
11.10.2015, 16:44 #3
не нужно прибивать софт гвоздями к какой то одной конкретной локали.
поэтому, заменить:
C++
1
setlocale(LC_ALL,"Russian");
на:
C++
1
setlocale(LC_ALL,"");
(что означает - взять системную локаль,
или локаль операционной системы.
для русскоязычной винды это будет обозначать русскую локаль.
для альтернативных локализаций - альтернативные)

далее, необходимо заменить все упоминания std::string на std::wstring
std::cout на std::wcout, std::cin на std::wcin.

литерные строки надлежит определять, как юникодовые:

C++
1
std::wcout << L"привет, мир!\n";
дефайны препроцессора UNICODE _UNICODE должны быть активированы.


есть есть желание собирать программу при помощи g++,
тогда исхдник должен быть в формате utf-8.
иначе g++ откажется воспринимать юникодовый не английский текст.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2015, 16:44
Привет! Вот еще темы с решениями:

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

Обьявление идентификатора в заголовочном файле
Добрый день, подскажите как исправить ошибку Ошибка C2065 Triangle:...

Объявление константы в заголовочном файле
Как объявить константу и массив в заголовочном файле? Map.h #pragma once...

Можно ли объявлять объекты в заголовочном файле?
Решил написать змейку с использование OpenGL. Сначала написал все в одном...


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

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

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