The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"hello, world!"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"hello, world!"  
Сообщение от rasmon email on 20-Авг-08, 15:16 
Здравствуйте!
Всем известен пример, с которого начинается изучение чуть-ли  не любого языка программирования: напечатать строку "hello, world!" на экран. А как вывести на экран это же приветствие, но кириллицей? "Привет мир" с помощью функции printf, puts и т.д.? Имеется ввиду язык Си.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • hello, world!, eee, 15:19 , 20-Авг-08, (1)  
    • hello, world!, phpcoder, 15:23 , 20-Авг-08, (3)  
  • hello, world!, phpcoder, 15:19 , 20-Авг-08, (2)  
    • hello, world!, Guest, 19:31 , 20-Авг-08, (4)  
      • hello, world!, NuINu, 13:42 , 21-Авг-08, (5)  
        • hello, world!, rasmon, 16:41 , 21-Авг-08, (6)  
          • hello, world!, Guest, 16:45 , 21-Авг-08, (7)  
            • hello, world!, rasmon, 22:08 , 27-Авг-08, (13)  
              • hello, world!, Guest, 22:17 , 27-Авг-08, (14)  
      • hello, world!, eee, 17:25 , 21-Авг-08, (8)  
        • hello, world!, hhh, 21:27 , 22-Авг-08, (9)  
          • hello, world!, eee, 08:40 , 23-Авг-08, (10)  
            • hello, world!, hhh, 17:32 , 27-Авг-08, (12)  
      • hello, world!, Alexander S. Salieff, 03:44 , 11-Сен-08, (15)  
  • hello, world!, BigHo, 12:30 , 25-Авг-08, (11)  

Сообщения по теме [Сортировка по времени | RSS]


1. "hello, world!"  
Сообщение от eee (ok) on 20-Авг-08, 15:19 
printf("Привет мир");

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "hello, world!"  
Сообщение от phpcoder email(??) on 20-Авг-08, 15:23 
>printf("Привет мир");

\n забыли ;-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "hello, world!"  
Сообщение от phpcoder email(??) on 20-Авг-08, 15:19 
>Здравствуйте!
>Всем известен пример, с которого начинается изучение чуть-ли  не любого языка
>программирования: напечатать строку "hello, world!" на экран. А как вывести на
>экран это же приветствие, но кириллицей? "Привет мир" с помощью функции
>printf, puts и т.д.? Имеется ввиду язык Си.

Также и вывести. (Про проблемы с кодировками в hello world слышал только в Windows, там ещё надо перекодировать CharToOem() или как-то так).


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "hello, world!"  
Сообщение от Guest (??) on 20-Авг-08, 19:31 
>Также и вывести.

Да ну? А строку в исходник в чем писать, не подскажете?
В koi8-r или в cp1251? А может, в utf-8? А почему бы не в cp866? А если в ISO?

Правильный вариант - использовать gettext и не писать локазизованные строки в исходниках вообще. На крайний случай можно конвертить строки iconv'ом в локаль пользователя, но это не поможет, если у него не русская локаль.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "hello, world!"  
Сообщение от NuINu (??) on 21-Авг-08, 13:42 
>>Также и вывести.
>
>Да ну? А строку в исходник в чем писать, не подскажете?
>В koi8-r или в cp1251? А может, в utf-8? А почему бы
>не в cp866? А если в ISO?
>
>Правильный вариант - использовать gettext и не писать локазизованные строки в исходниках
>вообще. На крайний случай можно конвертить строки iconv'ом в локаль пользователя,
>но это не поможет, если у него не русская локаль.

пишешь функцию tr, передаешь ей переменную LANG, анализируешь ее на язык, и если русский на кодировку, потом делаешь iconv если нужно. если не русский то ищешь файл с готовой трансляцией находишь там необходимый перевод и печатаешь его. можно и без iconv, только придеться держать базу на все русские кодировки.

и у тебя получается интернациональный хелло ворд.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "hello, world!"  
Сообщение от rasmon on 21-Авг-08, 16:41 

>пишешь функцию tr, передаешь ей переменную LANG, анализируешь ее на язык, и
>если русский на кодировку, потом делаешь iconv если нужно. если не
>русский то ищешь файл с готовой трансляцией находишь там необходимый перевод
>и печатаешь его. можно и без iconv, только придеться держать базу
>на все русские кодировки.
>

iconv - есть такая функция в Си или его библиотеках?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "hello, world!"  
Сообщение от Guest (??) on 21-Авг-08, 16:45 
>iconv - есть такая функция в Си или его библиотеках?

это библиотека libiconv

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "hello, world!"  
Сообщение от rasmon email on 27-Авг-08, 22:08 
Ну хорошо.
А зачем тогда нужны функции для работы с широкими символами, такие как vfwprintf(...)?
Тут про них никто не упомянул


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "hello, world!"  
Сообщение от Guest (??) on 27-Авг-08, 22:17 
>Ну хорошо.
>А зачем тогда нужны функции для работы с широкими символами, такие как
>vfwprintf(...)?
>Тут про них никто не упомянул

Wide characters это wide characters, а multibyte это multibyte.

В целом с wide characters геморроя больше, поэтому смысла их рассматривать здесь нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "hello, world!"  
Сообщение от eee (ok) on 21-Авг-08, 17:25 
>Да ну? А строку в исходник в чем писать, не подскажете?
>В koi8-r или в cp1251? А может, в utf-8? А почему бы
>не в cp866? А если в ISO?

utf-8, разве что-то другое актуально?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "hello, world!"  
Сообщение от hhh on 22-Авг-08, 21:27 
>utf-8, разве что-то другое актуально?

А подумать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "hello, world!"  
Сообщение от eee (ok) on 23-Авг-08, 08:40 
>>utf-8, разве что-то другое актуально?
>
>А подумать?

Доюавить в систему поддержку юникода,
UTF-8 в часности,
у меня нет проблет,
а у Вас?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "hello, world!"  
Сообщение от hhh on 27-Авг-08, 17:32 
>Доюавить в систему поддержку юникода,
>UTF-8 в часности,
>у меня нет проблет,
>а у Вас?

А еще раз подумать? И при чем здесь поддержка UTF8 в системе?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "hello, world!"  
Сообщение от Alexander S. Salieff email on 11-Сен-08, 03:44 
#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main(int argc, char **argv)
{
    setlocale(LC_ALL, "");
    wprintf(L"%S\n", L"Привет мир!");
    return 0;
}

Компилятор сам сделает преобразование строк из локали в юникод (префикс L) и сохранит в сегменте текста юникодные строки. Функция wprintf сделает нужные преобразования согласно текущей локали и везде выведет строку верно (если текущая локаль позволяет). Главное, чтобы при наборе исходника и компиляции использовалась одна и та же локаль.

>>Также и вывести.
>
>Да ну? А строку в исходник в чем писать, не подскажете?
>В koi8-r или в cp1251? А может, в utf-8? А почему бы
>не в cp866? А если в ISO?
>
>Правильный вариант - использовать gettext и не писать локазизованные строки в исходниках
>вообще. На крайний случай можно конвертить строки iconv'ом в локаль пользователя,
>но это не поможет, если у него не русская локаль.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "hello, world!"  
Сообщение от BigHo on 25-Авг-08, 12:30 
Наконец-то хоть кто-то занялся локализацией нужных программ! Так держать!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру