Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   печать кириллицы в Си (https://forum.antichat.xyz/showthread.php?t=101485)

Дикс 16.01.2009 10:06

печать кириллицы в Си
 
вопроса даже два:
первое - какой шрифт поставить в microsoft visual c++, чтобы там отображалась кириллица и код выглядел нормально
а второе - какой функцией перекодировать текст? вроде charToOem - но я не могу найти никаких примеров её использования.

Дикс 16.01.2009 10:12

PHP код:

#include <windows.h>

int main(void){

    
char buffer[20];
    
CharToOem("Кириллица\n"buffer);

    
printf("%s%c%c\n%s""Content-Type:text/html;charset=windows-1251",13,10body);
    
printf(buffer);
    return 
0;


эм.. что в windows-1251, что в utf-8 - в браузер валится какая-то нездоровая каша.

VAran 16.01.2009 12:45

PHP код:

ostream &operator<<(ostream &obj,char *strWin)
{
    
char strDos[4096];
    
CharToOem(strWin,strDos);
    
obj.write(strDos,strlen(strDos));
    return 
obj;



nerezus 16.01.2009 13:16

system("chcp 1251 > nul"); в самом начале программы напиши.

С перекодировкай и прочими хаками ты портируемость ухудшишь.


P.S. VAran, ему на C надо было.

Дикс 16.01.2009 13:49

nerezus
спасибо огромное!
а нас даже в универе на первом курсе учили и предлагали в качестве решения этой проблемы - перекодировку.
она канает в консоли, а в браузере нет.
а щас всё отлично заработало!
очень признателен

VAran 16.01.2009 13:49

Цитата:

P.S. VAran, ему на C надо было.
это и есть си.
перегружен оператор потока вывода <<

Дикс 16.01.2009 13:59

пытаюсь юзать utf-8

PHP код:

    char body[] = "";
    
system("chcp 65001 > nul");
    
strcat(body"Кучерявый сидел перед камином");
    
printf("%s%c%c\n%s""Content-Type:text/html; charset=utf-8",13,10body); 

когда строка напечатана в ms visual studio - на странице каша
когда строку скопировал со странички в utf-8 - программа вылетает с эксепшеном

nerezus 16.01.2009 14:01

> когда строка напечатана в ms visual studio - на странице каша
У меня все норально. Какая версия студии?

nerezus 16.01.2009 14:01

Цитата:

это и есть си.
перегружен оператор потока вывода <<
Это не C.
Учи матчасть.

Дикс 16.01.2009 15:24

версия 6.0
щас даже если печатаю - эксепшен


Время: 13:28