Pokaż wyniki 1 do 3 z 3

Temat: VisualC++

  1. #1
    maciek jest offline IT
    Zarejestrowany
    Jul 2006
    Skąd
    Łódź
    Postów
    249

    Domyślnie VisualC++

    znajdzie sie tutaj jakis spec od VisualC++? mam taki kawalek kodu w VisualC++
    Kod:
    memset(temp, 0x00, sizeof(temp));
    sprintf(temp, "%s%s", M, P);
    health_cmd[0] = (char)0x02;
    health_cmd[1] = (char)0x09;
    health_cmd[2] = (char)temp[0];
    health_cmd[3] = (char)temp[1];
    health_cmd[4] = (char)temp[2];
    health_cmd[5] = (char)temp[3];
    health_cmd[6] = (char)temp[4];
    health_cmd[7] = (char)0x03;
    i chcialbym go przerobic na inny jezyk programowania (dokladnie pascal/delphi) ale przede wszystykim chcialbym sie dowiedziec co dokladnie to oznacza, kazda linijka, co robi etc.
    Pozdrawiam

  2. #2
    mqk
    mqk jest offline
    Zarejestrowany
    Feb 2009
    Postów
    6

    Domyślnie

    memset(temp, 0x00, sizeof(temp)); // man memset
    sprintf(temp, "%s%s", M, P); // man sprintf
    health_cmd[0] = (char)0x02; // man `tablice`, man `systemy liczbowe`

  3. #3
    Avatar rafal44
    rafal44 jest offline logout
    Zarejestrowany
    Dec 2007
    Postów
    291

    Domyślnie

    Kod:
    memset(temp, 0x00, sizeof(temp));
    tablicę (chyba) wypełnij bajtami zerowymi. Pierwszy parametr to wskaźnik na obiekt docelowy, drugi to wartość jaką zostanie wypełniona tablica, trzeci to rozmiar tablicy w bajtach.
    Kod:
    sprintf(temp, "%s%s", M, P);
    Do tablicy temp zapisz: ciąg znaków (%s) M (trzeci parametr) i ciąg znaków (%s) D (czwarty parametr). M i P to również tablice. Tą funkcje można porównać do kodu PHP
    Kod:
     $temp=$M.$D
    uwaga funkcja sprinft jest podatna na buffer overflow.
    Kod:
    health_cmd[0] = (char)0x02;
    Pierwszy element tablicy health_cmd będzie miał wartość 0x02; itd.

    Proponowany kod w pascalu:
    Kod:
    fillchar(temp,sizeod(temp),0);
    temp=M+D;
    health_cmd[0] = 0x02;
    health_cmd[1] = 0x09;
    health_cmd[2] = temp[0];
    health_cmd[3] = temp[1];
    health_cmd[4] = temp[2];
    health_cmd[5] = temp[3];
    health_cmd[6] = temp[4];
    health_cmd[7] = 0x03;
    nie wiem czy dobrze, dawno nie zajmowałem się pascalem.
    "a imię jego będzie czterdzieści i cztery"
    A. Mickiewicz Dziady cz. III

Podobne wątki

  1. VisualC++ różnice
    By kondor34 in forum C/C++
    Odpowiedzi: 9
    Autor: 01-05-2009, 13:14

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52