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

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

    Joined:
    29 Feb 2008
    Messages:
    60
    Likes Received:
    15
    Reputations:
    3

    criz, извени конечно, но ты не прав...

    strcpy(message_buf, argv) - это опасная конструкция и она подвержена переполнению, так как не проверяет входящую строку на длинну...так что надо юзать именно strncpy.

    delete []message_buf; - одного этого не достаточно, надо очиститть память и для каждого элемента...
     
    #1001 ZipaCna, 20 Apr 2008
    Last edited: 20 Apr 2008
  2. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    ясно :)
    Просто ты указываешь
    Code:
    sizeof(argv[argc])
    , а это 4 байта. Вот я и решил не ограничиваться 4мя байтами :rolleyes:
     
    1 person likes this.
  3. ZipaCna

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

    Joined:
    29 Feb 2008
    Messages:
    60
    Likes Received:
    15
    Reputations:
    3
    кстате да спасибо , тут тоже ошибка надо было sizeof(argv)

    но весь трабл не в этом ..... =((


    при выделении памяти под элименты масива не зависимо от того что я передам в argv код

    for(int u=0;argv != NULL;u++)message_buf=new char[sizeof(argv)];

    выделяет по 4 байта.... попробуйте собрать этот исходник под виндой и скажите проблема такая же??
     
    #1003 ZipaCna, 20 Apr 2008
    Last edited: 20 Apr 2008
  4. Forcer

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

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    argv - указатель. sizeof от указателя = 4. Юзай strlen().
     
    1 person likes this.
  5. ZipaCna

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

    Joined:
    29 Feb 2008
    Messages:
    60
    Likes Received:
    15
    Reputations:
    3


    Спасибо ошибку понял. Все работает.
     
  6. Loker

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

    Joined:
    25 Oct 2007
    Messages:
    46
    Likes Received:
    23
    Reputations:
    5
    Ребят помогите.
    Нужен любой код бинарного дерева ( чтоб добавлять, удалять редактировать.) На С++.
    ПРосто любой рабочий, обыскал моно сказать все и ни как если есть у кого вылоите плз.
     
  7. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    _http://forum.vingrad.ru/forum/s/34d46f3f9f3c02ea59529320070694a3/topic-99013/anchor-entry1469467/0.html
    _http://programmersforum.ru/showthread.php?p=92241
    _http://alglib.sources.ru/sorting/heapsort.php
    _http://forum.codenet.ru/showthread.php?t=44506 (паскаль, на всякий случай)
     
    1 person likes this.
  8. reversys

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

    Joined:
    21 Nov 2007
    Messages:
    139
    Likes Received:
    57
    Reputations:
    7
    да set в STL используй!
     
  9. Forcer

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

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    reversys
    насколько я понимаю, ему нужно для обучения а не для работы. Или ты ему для обучения предлагаешь код этого stl-кого сета взять?
    Loker
    Если очень нужно, в среду могу написать, если будет время. А вообще - посмотри по ссылкам которые дали.
     
  10. reversys

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

    Joined:
    21 Nov 2007
    Messages:
    139
    Likes Received:
    57
    Reputations:
    7
    имел ввиду для работы.
     
  11. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Как отправить tcp-пакет, с нужным мне флагом, например RST?
     
  12. rem

    rem New Member

    Joined:
    9 Nov 2006
    Messages:
    24
    Likes Received:
    4
    Reputations:
    1
    тебе нужно рыть в сторону raw socket
    google:
    http://www.google.ru/search?aq=-1&oq=&complete=1&hl=ru&newwindow=1&q=raw+socket+tcp&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru


    вот например реализация в линухе:
    http://www.securitylab.ru/poc/extra/222314.php
     
  13. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    1) Нужно ли мне заполнять ИП-заголовок? Мне ведь надо только тсп-пакет изменить...
    2) Если я отправлю пакет с РСТ-флагом, то соединение завершится?
     
  14. rem

    rem New Member

    Joined:
    9 Nov 2006
    Messages:
    24
    Likes Received:
    4
    Reputations:
    1
    http://www.lib.ru/TCPBOOK/

    Здесь все что те понадобиться для правильного формирования пакетов, а задавая по 1 вопросу ты бушь долго учиться
     
  15. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    А как тогда ось узнает, на какой ип отправлять пакет?
     
  16. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Вот, есть такой алгоритм..в голове у меня :)
    запускаю сниффер, он фильтрует пакеты. Если данные идут на микрософт.ру, то прога отправляет пакет с рст-флагом и соединение сбрасывается.
    Я фантазер? :)
     
    1 person likes this.
  17. #urbaner

    #urbaner Member

    Joined:
    30 Mar 2008
    Messages:
    19
    Likes Received:
    13
    Reputations:
    -5
    Доброго времени суток!Вот хотел освоить технику ини файлов на С++, вот код

    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    {
    TIniFile *ini;
    ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
    ini->WriteInteger( "Form", "Top", Top );
    ini->WriteInteger( "Form", "Left", Left );
    ini->WriteString ( "Form", "Caption", Caption );
    ini->WriteBool ( "Form", "InitMax",
    WindowState == wsMaximized );
    delete ini;

    Но, он почему то не пашет, пишет UNDIFENED SYMBOL "TIniFile":(В чем дело?Кто подскажет?
     
  18. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    2 criz //// не фантазер!

    только даже не начинай использовать.... raw sock
    потеряешь время, делай сразу на WinPCap
    ... винпикап продокументирован и примеры есть
     
    #1018 Delimiter, 24 Apr 2008
    Last edited: 24 Apr 2008
  19. os1r1s

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

    Joined:
    2 Feb 2007
    Messages:
    18
    Likes Received:
    28
    Reputations:
    -4
    #urbaner
    подключи
    #include <vcl.h>
    #include <inifiles.hpp>
     
  20. #urbaner

    #urbaner Member

    Joined:
    30 Mar 2008
    Messages:
    19
    Likes Received:
    13
    Reputations:
    -5
    Спасибо, подключил, РАБОТАЕТ!!! :)
     
    1 person likes this.
Thread Status:
Not open for further replies.