С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/35: Рейтинг темы: голосов - 35, средняя оценка - 4.77
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
1

setlocale в C++ Builder XE

28.06.2011, 12:46. Показов 7289. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема наблюдается не только в C++ Builder XE, но и во всех предыдущих версиях билдера.

Код
C
1
2
3
setlocale(LC_ALL, "Russian_Russia.1251");
 
printf("%s\n\nПривет мир!\n\n", setlocale(LC_ALL, NULL));
Выводит (см. вложение)
Миниатюры
setlocale в C++ Builder XE  
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
28.06.2011, 12:46
Ответы с готовыми решениями:

Чем отличается вызов функции setlocale(0, "") от setlocale(LC_ALL,"")?
Например printf(setlocale(0, "")); cout << endl; printf(setlocale(LC_ALL, "")); выдают...

Как комбинировать setlocale(0,"") И setlocale(LC_ALL, "cp1251") ?
Мне в программе одновременно нужны символы и русский язык в консоли, и все что я знаю что если...

setlocale
#include <iostream> #include <locale> using namespace std; class employee { private: ...

setlocale
Написал разные задание в Microsoft Visual Studio, с использованием setlocale(LC_ALL,"rus"), далее...

10
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Записей в блоге: 3
28.06.2011, 17:16 2
Русский язык в консоли
0
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
28.06.2011, 18:03  [ТС] 3
Но
C
1
в самом начале функции main добавить строчки SetConsoleOutputCP(1251) и SetConsoleCP(1251)
это же не кошерно! Я думал может сам билдер где настроить можно, все должно работать по setlocale.
0
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Записей в блоге: 3
28.06.2011, 22:26 4
bat_dmitry, вам шашечки, или - ехать ?
0
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
29.06.2011, 07:53  [ТС] 5
Ехать это здорово. Но ради этих вот SetLocale... нужно подключать увесистый Windows.h, что не доставляет...
0
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
30.06.2011, 00:42 6
Цитата Сообщение от bat_dmitry Посмотреть сообщение
нужно подключать увесистый Windows.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//---------------------------------------------------------------------------
#include <tchar.h>
#include <stdio.h>
#include <iostream>
//---------------------------------------------------------------------------
#pragma argsused
 
int _tmain(int argc, _TCHAR* argv[]) {
    std::setlocale(LC_ALL, "");
    std::wcout << L"Можно обойтись и без Windows.h";
 
    getchar();
    return 0;
}
//---------------------------------------------------------------------------
0
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
30.06.2011, 20:34  [ТС] 7
Я оговорился, вместо SetLocale следует читать SetConsoleOutputCP(1251) и SetConsoleCP(1251)

Добавлено через 1 минуту
Цитата Сообщение от Maluda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//---------------------------------------------------------------------------
#include <tchar.h>
#include <stdio.h>
#include <iostream>
//---------------------------------------------------------------------------
#pragma argsused
 
int _tmain(int argc, _TCHAR* argv[]) {
    std::setlocale(LC_ALL, "");
    std::wcout << L"Можно обойтись и без Windows.h";
 
    getchar();
    return 0;
}
//---------------------------------------------------------------------------
А этот код выводит русские символы? А если не wchar_t?
0
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
30.06.2011, 21:36 8
Цитата Сообщение от bat_dmitry Посмотреть сообщение
А этот код выводит русские символы?
А ты думаешь, что тебе это просто так написали?

Цитата Сообщение от bat_dmitry Посмотреть сообщение
А если не wchar_t?
А в чём проблема преобразовать wchar_t в char и наоборот?
0
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
01.07.2011, 13:40  [ТС] 9
Цитата Сообщение от Maluda Посмотреть сообщение
А ты думаешь, что тебе это просто так написали?



А в чём проблема преобразовать wchar_t в char и наоборот?
А если в C-style?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
 
#include <stdio.h>
#include <locale.h>
#pragma hdrstop
 
#include <tchar.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "");
 
    printf("Привет мир!\n");
 
    system("pause");
 
    return 0;
}
//---------------------------------------------------------------------------
Вот этот код не выводит русских символов.
0
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
01.07.2011, 14:31 10
Цитата Сообщение от bat_dmitry Посмотреть сообщение
printf("Привет мир!\n");

C++
1
wprintf(L"Привет мир!\n");
вот так напиши и заработает

А вообще, ты разделом ошибся: тебе или в раздел С или С для начинающих
1
0 / 0 / 1
Регистрация: 15.11.2010
Сообщений: 22
01.07.2011, 22:14  [ТС] 11
Действительно так работает, спасибо за ответ.

Тема как раз в той ветке, проблема наблюдается только в билдере. Проблема решена переходом на codeblocks ))
0
01.07.2011, 22:14
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
01.07.2011, 22:14
Помогаю со студенческими работами здесь

Setlocale
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include...

setlocale в Dev-C++
Не работает setlocale в Dev-C++. Что не так?

Setlocale не реагирует
Здравствуйте, хочу чтобы месяц отображался по-русски, делаю: $date = '20180630';...

Setlocale в wmain()
Собираю проект под Windows CE 6.0, чтобы выводить русские символы в консоли использую: ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru