1

Тема: Як виводити текст українською в програмах на Сі?

Всім привіт. Пишу консольну програму на Сі, зіткнувся із такою проблемою: весь текст, що виводиться на екран тільки англійський, а якщо кирилиця -- то кракозябрики  :) . Шукав в інеті як виводити кирилицю, знайшов тільки методи з С++, на Сі не працюють. Може хтось знає і поділиться?

Про 3D друк та програмування українською: http://freakspace.xyz

2

Re: Як виводити текст українською в програмах на Сі?

я знаю тільки

setlocale (LC_CTYPE, "ukr");

Здається не підійде під звичайне С

Подякували: navchalkin1

3

Re: Як виводити текст українською в програмах на Сі?

Joker написав:

я знаю тільки

setlocale (LC_CTYPE, "ukr");

Здається не підійде під звичайне С

Ні, пробував. Помилка

Про 3D друк та програмування українською: http://freakspace.xyz

4

Re: Як виводити текст українською в програмах на Сі?

там ще є варіант коли треба підключити

#include <locale>

і ця ж функція але з іншими параметрами, здається замість LC_CTYPE можна ALL.

Міг помилитися.

Подякували: navchalkin1

5

Re: Як виводити текст українською в програмах на Сі?

Joker написав:

там ще є варіант коли треба підключити

#include <locale>

Це бібліотека С++ :(

Про 3D друк та програмування українською: http://freakspace.xyz

6

Re: Як виводити текст українською в програмах на Сі?

Use locale.h, Luke!

Подякували: navchalkin1

7 Востаннє редагувалося navchalkin (10.05.2015 00:03:47)

Re: Як виводити текст українською в програмах на Сі?

koala написав:

Use locale.h, Luke!

Єєєє, працює  :D Спасибі.
І ще одне, перепрошую що не по темі, просто не хочу робити ще одну тему (за тафтологію теж вибачаюсь  :D ).
Хочу зробити програму переводу з одних сис. числення в інші.
Ось мене зупинило ось це:
не вираховує саме двійкове число. На С++ працювало, а тут виводить просто 0

#include<stdio.h>
#include<math.h>
#include<locale.h>

int main()
{
    setlocale (LC_ALL, "ukr");
    a, b=0, k=0;
    printf("Введіть числа: ");
    scanf("%d",&a);
    while (a!=0)
    {
        b+=(a%2*k);
        a/=2;
        k*=10;
    }
     
    printf("Number: %d\n",b);
    system("PAUSE");
    return 0;
}
Про 3D друк та програмування українською: http://freakspace.xyz

8 Востаннє редагувалося koala (10.05.2015 00:04:42)

Re: Як виводити текст українською в програмах на Сі?

navchalkin написав:

k=0;

Подякували: navchalkin1

9

Re: Як виводити текст українською в програмах на Сі?

koala написав:
navchalkin написав:

k=0;

Трясця, точно. От я лайдик  :[

Про 3D друк та програмування українською: http://freakspace.xyz

10

Re: Як виводити текст українською в програмах на Сі?

navchalkin, вибачте за неполіткоректні питання. А якого типу a, b, k? В Сі ж ніби не динамічна типізація.

x

11

Re: Як виводити текст українською в програмах на Сі?

Chemist-i написав:

navchalkin, вибачте за неполіткоректні питання. А якого типу a, b, k? В Сі ж ніби не динамічна типізація.

Змінна без вказання типу в C - типу int. Наприкад, в С можна написати просто

main(){}

В плюси пішов з цього тип unsigned, який насправді є скороченням від unsigned int.

Подякували: navchalkin, Chemist-i2

12

Re: Як виводити текст українською в програмах на Сі?

Chemist-i написав:

navchalkin, вибачте за неполіткоректні питання. А якого типу a, b, k? В Сі ж ніби не динамічна типізація.

Ой, я напевне коли кидав на replace код, тоді стирав лишні змінні (щоб ніхто не давав питання для чого ті змінні, нащо їх так багато, і т.п.), і стер int

Про 3D друк та програмування українською: http://freakspace.xyz