ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 16.01.2009, 15:32
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

PHP код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void){

    
char *query = getenv("QUERY_STRING");
    
char body[] = "";

    
system("chcp 65001 > nul"); // 1251 - windows-1251, 65001 - utf-8
    
strcat(body, "вапвкап ап");
    
printf("%s%c%c\n%s", "Content-Type:text/html;charset=utf-8",13,10, body);
    
getchar();
    return 
0;
} 
если в строке есть пробел - кажет кашу и после нажатия кнопки (для getchar()) - вылетает с эксепш.
если нет пробела - кажет кашу
 
Ответить с цитированием

  #12  
Старый 16.01.2009, 17:39
__mad
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами: 9745696

Репутация: 104
По умолчанию

так "вапвкап ап" в какой у тебя кодировке? даж точней в какой кодировки сам файик который ты компилишь?
если ты говоришь браузеру что это утф8 то и текст

а экзепшен изза этого
char body[] = "";
strcat(body, "вапвкап ап");

ты записываешь строку в однобайтовый масив, возможно и изза это херня с выводом результата)
 
Ответить с цитированием

  #13  
Старый 16.01.2009, 18:43
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

Цитата:
char body[] = "";
strcat(body, "вапвкап ап");

ты записываешь строку в однобайтовый масив
нет, это как раз работает. эксепшн возникает только если строка содержит пробел. без пробела всё норм.

а по поводу кодировки файла - этот мс визуал си++ словно написан в 98 году.
в нем не только кодировки файла нет, там даже нумерация строк кода отсутствует!
зато можно поставить часы в статус окна. идиотизм..
 
Ответить с цитированием

  #14  
Старый 16.01.2009, 19:44
__mad
Участник форума
Регистрация: 04.11.2007
Сообщений: 103
С нами: 9745696

Репутация: 104
По умолчанию

>>нет, это как раз работает. эксепшн возникает только если строка содержит пробел. без пробела всё норм.

не нада херни говорить, очевидно же что записывая строку большей длины чем массив (локальный) мы перезаписываем стэк и тем самым адрес возварат, поэтому и возникает экзепшен при выходе из проги.
продебагь, и посмори чё творится со стеком.
 
Ответить с цитированием

  #15  
Старый 16.01.2009, 20:55
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
С нами: 9746420

Репутация: 119
По умолчанию

Дикс, __mad прав.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define L 15

int main(int argc, char *argv[]){

    char *query = getenv("QUERY_STRING");
    char body[L] = " ";

    system("chcp 1251 > nul"); // 1251 - windows-1251, 65001 - utf-8
    strcat(body, "вапвкап ап");
    printf("%s%c%c\n%s", "Content-Type:text/html;charset=utf-8",13,10, body);
    getchar();
    return 0;
}
 
Ответить с цитированием

  #16  
Старый 16.01.2009, 20:59
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,793
С нами: 11444066

Репутация: 2290


По умолчанию

Цитата:
версия 6.0
щас даже если печатаю - эксепшен
Дык ты бы еще досовскую консольную юзал.
Обновись, в последней версии проблемы такой нету
 
Ответить с цитированием

  #17  
Старый 17.01.2009, 11:30
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

нас у универе именно по ней учат и на ней экзамен сдавать =\
 
Ответить с цитированием

  #18  
Старый 17.01.2009, 13:29
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,793
С нами: 11444066

Репутация: 2290


По умолчанию

Поставь на ноут 2008 версию и делай на нем.
 
Ответить с цитированием

  #19  
Старый 17.01.2009, 17:55
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

о_О
как ты узнал что у меня ноут?

поставлю, кстати ни у кого нет ссылки на торрент Визуал Студио 2008 к примеру?
 
Ответить с цитированием

  #20  
Старый 17.01.2009, 18:01
lll6
Познающий
Регистрация: 01.03.2008
Сообщений: 99
С нами: 9577084

Репутация: 51
По умолчанию

Цитата:
Сообщение от Дикс  
о_О
как ты узнал что у меня ноут?

поставлю, кстати ни у кого нет ссылки на торрент Визуал Студио 2008 к примеру?
Visual Studio 2008
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
печать военкомата SVAROG Болталка 4 22.12.2008 23:20



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.