[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Третий параметр в функции recv нужно менять только в одном случае: когда принимаешь последний блок данных и его размер отличается от предыдущих (при условии, что полный размер данных уже известный). Для начала почитай о протоколе HTTP, установи сниффер HTTP пакетов и посмотри, что отправляет и принимает браузер, как он работает. Почитай о Connection: close и Connection: Keep-Alive. В первом случае можно читать до тех пор, пока x = recv(sock, buf, 8192, 0) > 0, во втором нужно обязательно парсить заголовки, здесь дела обстоят немного сложнее.
     
  2. LookBehind

    LookBehind New Member

    Joined:
    18 Sep 2011
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Здравствуйте уважаемые форумчане! Я бы хотел уточнить у кого нибудь работает этот FormGrabber или нет?
    компиляция прошла успешно, проделал тест на VM с разными loader-ами, толку 0. или подскажите др. исходники-примеры на c++ или delphi. Спасибо.
     
  3. Radist

    Radist New Member

    Joined:
    5 Jul 2012
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Начал изучать visual studio 2008? пытаюсь откомпелировать проект, но он не может найти все инклуд файлы, а точнее в данном случае библиотеку 'iostream.h'. появляется такая ошибка.

    c:\users\жека\documents\visual studio 2008\projects\1\1\1.cpp(5) : fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory

    Нашел такую информацию, что можно указать путь через Tools > Options > Project and General Tools и там сверху из drop-down меню можно выбрать библиотеки. Но когда зашел в эти настройки не понял, что и куда надо указать.

    Подскажите пожалуйста, как корректно указать путь.
     
    #7363 Radist, 7 Jul 2012
    Last edited: 7 Jul 2012
  4. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Ты, по всей видимости, читаешь очень старую книгу или уроки. iostream.h - это сильно устаревшее имя файла. Пиши #include <iostream>. Более подробно можешь прочитать в гугле.
     
  5. Radist

    Radist New Member

    Joined:
    5 Jul 2012
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    без .h ошибок ещё больше получается. Он тогда все cout, cin, << >> находит как не объявленный индикаторы.

    Посоветуйте хорошую книгу для новичка.
     
    #7365 Radist, 7 Jul 2012
    Last edited: 7 Jul 2012
  6. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Потому, что нужно использовать специальную для сиаут и сиин namespace.
    Либо пропиши сразу после подключенных библиотек using namespace std;
    либо перед каждым оператором ввода вывода - добавляй std::
    std::cout<<"";
    std::cin>>a;
     
  7. Radist

    Radist New Member

    Joined:
    5 Jul 2012
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Спасибо, это помогло.

    Но появилась какая-то другая ошибка
    Проект : error PRJ0003 : Ошибка при создании "cmd.exe".

    Можете что-нибудь подсказать?
     
  8. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Вбивай просто ошибки в гугл и найдёшь практически сразу решение: ТЫЦ
     
  9. olgnet

    olgnet New Member

    Joined:
    8 Apr 2012
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    И ещё один вопрос, по поводу парсинга, он, насколько я понял, выглядит примерно так: с помощью функции strtok делим ответ по \r\n\r\n на заголовки и контект, заголовки делим по \r\n на части, потом каждый заголовок делим ещё на 2 части по :, ищем content-length и получаем размер контента, дальше начиная от \r\n\r\n отсчитываем нужное кол-во байт и получаем ответ)) Правильно ли? Со строками тоже никогда не сталкивался, нет ли примера реализации парсинга заголовков? Наверняка кто-то уже подобное делал)
     
  10. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Читаешь контент из сокета до тех пор, пока не дочитаешь до конца заголовков (\r\n\r\n), потом парсишь Content-Length и знаешь, сколько тебе еще осталось считать. Учти, такого заголовка может не быть или он может быть выставлен неправильно, это все следует в какой-то степени проверять.

    И, конечно, все это делали уже много раз - библиотек для работы с HTTP с открытым кодом очень много, тот же cURL, например.
     
  11. olgnet

    olgnet New Member

    Joined:
    8 Apr 2012
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Хм... а я и не подумал про curl, работал с ним в php... Завтра попробую прикрутить
     
    #7371 olgnet, 8 Jul 2012
    Last edited: 8 Jul 2012
  12. destory

    destory Member

    Joined:
    11 Dec 2008
    Messages:
    49
    Likes Received:
    7
    Reputations:
    0
    Ребят прошу помощи так как не шарю в кодинге вообще.
    Вообщем сделал в visualstudio 2010 форму в ней красуется веб браузер .
    Требуется каким то образом иметь возможноть заменять его без создания нового билда.
    так как сама программа обновлятся не собирается после рассылки ;)
     
  13. olgnet

    olgnet New Member

    Joined:
    8 Apr 2012
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Ещё несколько вопросов -
    1) Как склеить две переменных типа char, например у меня такой код:
    Code:
    ui->textBrowser->insertPlainText(errorBuffer);
    Это qt, errorBuffer это char[256], как мне приписать к errorBuffer "Ошибка: "?
    2) Что делать с русским языком, какое наиболее правильное и кроссплатформенное решение?
     
  14. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Я вот хз, как в c но в python я добавляя к строке u, соответственно она становиться юникодной, зн. использовать строки в кодировке unicode/
     
  15. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    1) wchar_t
    2) для QT: http://stackoverflow.com/questions/9230610/how-to-print-unicode-characters-using-qt
     
  16. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    В Python 3 нет необходимости писать u. В тройке строка воспринимается как юникодовая, и без u.
     
  17. splite

    splite New Member

    Joined:
    13 Jul 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, есть строка типа const char* с именем clipboard где содержится определённый текст, есть c типа int где указано определённое число, номер символа в clipboard, нужно в clipboard найти 2 ближайших вхождения подстроки ; или символа перевода строки \n, одно слева от c, другое справа.
    Мой вариант:
    Но он не работает, помогите исправить или найти более правильное решение. Заранее спасибо!
     
  18. skM

    skM New Member

    Joined:
    27 Jun 2010
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    Где можно почитать статьи по работе с сетью в Си (NOT C++) ? Интересует работа с http протоколом.
     
  19. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Это значит, что тебе следует почитать статьи по СИ (сокеты) и статьи про HTTP-протокол. Остальное сложится само. Советую скачать cURL и почитать исходники.
     
  20. Andrushka25

    Andrushka25 New Member

    Joined:
    19 Jul 2010
    Messages:
    24
    Likes Received:
    0
    Reputations:
    0
    MPEG2-ts

    Необходимо вставить аудио дорожку, из одного ts файла в другой. Обновил pmt таблицу, вставил в нее номер дорожки, все определяется. Проблема со вставкой пакетов с аудио. В каком соотношение их вставлять?
     
Thread Status:
Not open for further replies.