Domanda

voglio generare questi dati sequenziali in C:

data_packet[1] = 0706050403020100 (seed_value)

successivo

data_packet[2] = 0f0e0d0c0b0a0908

Avanti saranno i prossimi caratteri esadecimali 8 e così via per esempio 100 byte. Come posso farlo? Possiamo farlo utilizzando array di caratteri?

È stato utile?

Soluzione

Non si vuole utilizzare un array char dal char può o non può essere firmato (implementazione definito). Se stai giocando con i numeri esadecimali da 0x00 a 0xFF, vi consiglio vivamente di utilizzare una matrice unsigned char.

appare come i valori nella matrice sono sequenziali, da 0 a N. Ciò indica utilizzando un ciclo for.

La matrice è una dimensione fissa di 8 byte. Hmmm, un altro buon candidato per un ciclo for.

La parte più difficile del vostro compito è la direzione dei byte. Ad esempio sono riempimento nella matrice a partire dalla posizione 7 o nella posizione 0?

Così qui è un codice pseudo per aiutarvi a lungo:

For each value from 0 to N do:
begin
  for array position from 0 to 7 do: // or from 7 to 0
    put 'value' into the array at 'position';
  call function to process the array.
end

Per più divertente, cambiare la funzionalità di " 'valore' put" a "mettere valore casuale".

Se si vuole di scrivere in realtà il vostro programma, fatecelo sapere. Ho potuto utilizzare il denaro extra. : -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top