unsigned char array nachträglich befüllen



  • Hallo!

    Ich habe ein

    unsigned char m_uchPixelData [32 * 32 * 4 + 1];
    

    Und würde diesen gerne nachträglich befüllen. Also sowas wie

    m_uchPixelData = "bla";
    

    Mir ist klar dass das nicht so leicht geht. Ich habs schon mit strcpy und sprintf versucht.. ohne Erfolg.

    Danke schonmal!
    MfG Bizarreofnature


  • Mod

    std::strncpy(uchPixelData, "bla", std::size(uchPixelData));
    

    Edit: Sogar copy_n dürfte hier funktionieren, falls dir das mehr zusagt.



  • Bizarreofnature schrieb:

    Ich habs schon mit strcpy und sprintf versucht.. ohne Erfolg.

    Warum sollte man das hier zeigen, wenn es doch ohne Erfolg war ...


  • Mod

    manni66 schrieb:

    Bizarreofnature schrieb:

    Ich habs schon mit strcpy und sprintf versucht.. ohne Erfolg.

    Warum sollte man das hier zeigen, wenn es doch ohne Erfolg war ...

    Wenn ich strcpy nicht benutzen könnte, würde ich mich auch schämen..



  • std::strncpy (m_uchPixelData, "bla", std::size (m_uchPixelData));
    

    Hier leider auch wieder

    Fehler (aktiv) E0167 Das Argument vom Typ ""unsigned char *"" ist mit dem Parameter vom Typ ""char *"" inkompatibel.



  • Ich habs mit memcpy hinbekommen, danke trotzdem an alle 🙂


  • Mod

    Bizarreofnature schrieb:

    std::strncpy (m_uchPixelData, "bla", std::size (m_uchPixelData));
    

    Hier leider auch wieder

    Fehler (aktiv) E0167 Das Argument vom Typ ""unsigned char *"" ist mit dem Parameter vom Typ ""char *"" inkompatibel.

    Ah, ja. Dann halt ein (char*) davor klatschen.



  • Aber welchen Sinn macht es, Pixel-Daten (ARGB) mittels eines Strings zu initialisieren?


Log in to reply