[ 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. Mozy

    Mozy Member

    Joined:
    15 Mar 2009
    Messages:
    52
    Likes Received:
    34
    Reputations:
    6
    А что лучше изучать MFC или Qt ?
     
    1 person likes this.
  2. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    в мфц учить особо нечего. список классов и все. в кутэ все веселее и продуманнее. так что имхо нет особой проблемы ознакомиться с мфц и заняться кутэ.
     
  3. serfertty

    serfertty Guest

    Reputations:
    0
    Имхо лучше изучать QT, ибо MFC уже умирает, а QT довольно развивющаяся технология, к тому же кроссплатформенная.
     
  4. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Мужики, помогите однако, башка что-то уже не варит.

    Winsock + HTTP GET

    Получаю ответ от сервера
    Code:
    while(recv(soc,RecvBuff,sizeof(RecvBuff),0))  //while((i = recv(soc,RecvBuff,sizeof(RecvBuff),0))!=0)
    {
    
    //Обрезаем заголовок
    for(int i = 0; RecvBuff[i]!=0; ++i)
    {
    
     if((RecvBuff[i]=='\r')&&(RecvBuff[i+1]=='\n')&&(RecvBuff[i+2]=='\r')&&(RecvBuff[i+3]=='\n'))
    {
    	temp = (char*)&RecvBuff[i]+4;
    	break;
     }
    
    }
    }
    
    Данный код просто отлично отрезает заголовок ответа сервера но вот хотел бы узнать как будет лучше сделать обратное действие - вырезать контент но оставить заголовок.

    пример если можно.
     
    #3624 POS_troi, 31 Aug 2009
    Last edited: 31 Aug 2009
  5. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    человек явно не слышал про функцию strstr ...
    тут нет особо хитрых алгоритмов. ищутся границы - начало и конец. выделяется память, туда складываются нужные фрагменты. ну еще можешь регэкспы прикрутить. но для начала стоит ознакомиться со стандартной библиотекой
     
  6. POS_troi

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

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Знаю.. я спросил не как это сделать а как лучше это сделать.
     
  7. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    что в твоем понимании лучше? в моем - поддержка кода, легкость понимания кода. поэтому лучше юзать strstr, ибо вместо твоих 7 строк имеем одну, название которой красноречиво говорит о назначении этой строки.

    ps: а еще лучше выделить этот код в отдельную функцию и назвать ее getContent или cutHeader
     
  8. wiply

    wiply New Member

    Joined:
    31 Jul 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    А вообще в сетевых программах лучше пользоваться сишными функциями и строками или stl? Для меня это вопрос, ведь всякие strstr это остатки от си, и непонятно когда что лучше использовать?
     
  9. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    ну сокету все равно придется передавать просто массив байтов. просто нужно сделать классы враперы над сокетами, которые скрывают работу с чистыми указателями
    http://www.codeproject.com/KB/IP/client_server_socket.aspx
    вот например. во всем остальном коде использовать классы. если передаются двоичные данные - значит делать классы, которые преобразуют бинарные данные в классы. вообще без острой неоюходимочти внутри ядра программы, если пишешь на с++, использовать чистые массивы и указатели нада ну ооочень редко. разве что для передачи в некоторые апи. больше причин для использования не вижу.
     
  10. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    STL )
     
  11. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    "... остатки от си"
    убило. Это не остатки, это RTL! >____<
     
  12. Dead4ik

    Dead4ik Member

    Joined:
    23 Jun 2009
    Messages:
    34
    Likes Received:
    25
    Reputations:
    5
    Надеюсь не пошлют лесом=) Скиньте плз код проекта, в котором вводится числа, потом он присвается к константам, потом с ними выполняется любое математическое действие.=)
     
  13. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    константы и есть на то константы, что их значение нельзя изменять....
     
  14. Dead4ik

    Dead4ik Member

    Joined:
    23 Jun 2009
    Messages:
    34
    Likes Received:
    25
    Reputations:
    5
    Изменить нельзя, но начальное значение дать же можно.
     
  15. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    переведи на русский, пожалуйста
     
  16. Dead4ik

    Dead4ik Member

    Joined:
    23 Jun 2009
    Messages:
    34
    Likes Received:
    25
    Reputations:
    5
    Нужен проект, который при запуске сначала попросит ввести например 2 числа, потом оно будет с этими числами делать любое математическое действие
     
  17. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    в раздел помощи студентам иди за "сделайте мне тото". тут обсуждаются конкретные вопросы реализации чего-либо.
     
  18. ICQ Hool

    ICQ Hool Elder - Старейшина

    Joined:
    31 Mar 2008
    Messages:
    175
    Likes Received:
    25
    Reputations:
    0
    использую Visual C, проект mfc,
    есть Tree Control

    я использую для создания дерева такой код:

    HTREEITEM room_1=m_tree.InsertItem("room_1",korp1);

    m_tree.InsertItem("counter:",room_1);

    подскажите пожалуйста как сделать чтобы после counter: стояла переменная(value) которая вычисляется в самой программе, например значение i из структуры ms т.е ms.i

    с меня плюсы!
     
  19. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    CString item_text;
    item_text.Format("counter: %d", ms.i);
    m_tree.InsertItem(item_text,room_1);

    так или я чего то не понял? написал бы значения переменных и как должен выглядеть добавленный в дерево текст. меньше слов и понятно с первого взгляда.
     
    1 person likes this.
  20. ICQ Hool

    ICQ Hool Elder - Старейшина

    Joined:
    31 Mar 2008
    Messages:
    175
    Likes Received:
    25
    Reputations:
    0
    Ra$cal, получилось, супер, но фишка в том, что у меня очень много таких как counter: у которых должны быть значения
    это я к тому что слишком много ручками делать =)
     
    #3640 ICQ Hool, 3 Sep 2009
    Last edited: 3 Sep 2009
Thread Status:
Not open for further replies.