Ich habe einen C++ - Code, der Text und Bilder drucken wird. Beide funktionieren in Ordnung, wenn sie separat ausgeführt werden. Jetzt möchte ich das Drucken zusammenführen, damit ich das Bild beliebig einbetten kann.C: memcpy() mit NULL-Zeichen
data = "TEXT [LOGO] TEXT";
Angenommen, ich habe die Daten oben. Für Daten wie diese, was ich hier machen wollte, ist die [LOGO] durch die tatsächlichen Daten für den Belegdruck zu ersetzen. Bilddaten werden in einer Datei gespeichert (ESC Pos Commands Plus Bilddaten).
Probenbilddaten in einer Textdatei ..
1B40 1b61 011b 3308 1b2a 01F0 003F 7f7f
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff fefe fcfc f8f8
f0f0 E0E1 c1c3 8707 0f0f 0000 0000 0000
wiederverwendet ich eine Suche und ersetzen func tion .. from this link...
Der Einfachheit halber wollen wir auf einen einfachen memcpy
Anruf beziehen sich nur ...
char *temp = (char*) calloc(dataLength,dataLength * sizeof(char*));
memcpy(temp, logoBuffer, logoSize);
Das Problem ist jetzt, dass logoBuffer viel 'NULL-Zeichen' enthält. Und während der Kopie wurden die Daten abgeschnitten.
Gibt es eine Problemumgehung dafür? ran out of ideas ...
Wie ist 'logobuffer' aufgebaut - vielleicht behoben –
' Calloc (DataLength, dataLength * sizeof (char *)) 'klingt nicht richtig. Kannst du ein [mcve] posten? –
Genau, verstehst du den Operator 'sizeof'? Weißt du den Unterschied zwischen' calloc() 'und' malloc() '? Verstehst du, was ein 'void *' -Zeiger in [tag: c] ist? Ist Ihnen der Unterschied zwischen [tag: c] und [tag: C++] bekannt? Und auch * Ich habe ein C-Skript *, es ist wirklich schrecklich zu lesen. Es gibt keine C-Skripte. –