anna schrieb:
> Befehl "tcpWrite(iopen, "\xff\xfb\x00");" kriege ich der obengennanten
> Fehler. Er liest die "ff fb" aber die 00 nicht. Er denkt, dass es die
> "\0" Null-terminierung ist.
> Wie kann ich der Fehler beheben, irgend einen trick?
Das kann nicht funktionieren.
Ein String ist in C nun mal eine Abfolge von Bytes, die mit einem \0
Byte beendet wird. Punkt. Das ist in C per Definition ein String und es
gibt nichts, was du dagegen tun kannst.
Ergo KANNST du nicht ein Bytefeld, welches ein \0 Byte enthält über eine
Funktion schleusen, die einen String erwartet.
In Telnet gibt es sowas wie einen binary Transmission Mode.
Allerdings ist dann die Funktion tcpWrite mit Sicherheit die falsche
Funktion dafür. Da muss es dann noch eine Funktion geben, deren Signatur
irgendwoe so aussieht
size_t Function( int socket, void* data, size_t nrBytes );
so irgendwas in der Richtung. Also eine Funktion, der du explizit sagen
kannst, wieviele Bytes in deinem Array sind.