Array ab bestimmter Stelle mit Daten füllen



  • Hallo,

    wie kann ich diesen Code besser und übersichtlicher schreiben:

    [code]
    unsigned char RasBuff[4096];
    int i;
    
    i = 0;
    
    RasBuff[i++] = 0x01; // RasBuff wird mit 2 Zeichen vorbesetzt
    RasBuff[i++] = 0x02;
    
    //....................................
    
    RasBuff[i++] = 0xA0; // Ab dem 3. Zeichen soll RasBuff mit z.B. 30 Bytes 
    RasBuff[i++] = 0xA1; // gefüllt werden
    // "            "
    RasBuff[i++] = 0xC0;
    
    //....................................
    [/code]
    

    Vielen Dank für eure Hilfe!



  • So richtig weiß ich nicht, worauf du hinaus willst. Kannst du von den Werten her keine Schleife machen?



  • WoWe schrieb:

    Hallo,
    RasBuff[i++] = 0x01; // RasBuff wird mit 2 Zeichen vorbesetzt
    RasBuff[i++] = 0x02;

    //....................................

    RasBuff[i++] = 0xA0; // Ab dem 3. Zeichen soll RasBuff mit z.B. 30 Bytes
    RasBuff[i++] = 0xA1; // gefüllt werden
    // " "
    RasBuff[i++] = 0xC0;
    //....................................

    // mahcs doch zB so:
    for(int j = i; j < i +30; j++)
    RasBuff[j] = j - i + 0xA0;
    [/code][/cpp]

    Vielen Dank für eure Hilfe!



  • War ein dummes Beispiel von mir 🤡. Die Zeichen sind willkürlich, d.h. ich kann keine Schleife verwenden. Ich hatte an sowas wie eine Initialisierung gedacht:

    RasBuff[ab Stelle 2] = {0xa0, 0xb3, 0x2a ...... etc.};
    i += 30;

    Gruß WoWe



  • du kannst ein zweites array ab stelle 0 mit diesen willkürlichen daten füllen und dann mittels memcpy die daten in das zu füllende array an eine beliebiuge stelle übertragen



  • Hallo Maxi,

    danke, dass mit memcpy werde ich mal ausprobieren.

    Gruß WoWe


Anmelden zum Antworten