read() in C

From: Claudia Neumann <dr.claudia.neumann_at_gmx.de>
Date: Fri, 26 Mar 2010 19:39:01 +0100

Hallo Liste!

Bin leider kein ausgewiesener C-Experte, muss aber in C programmieren, um auf
die Kartenleseger„te zugreifen zu k”nnen.

Problem:
ein read() hat normalerweise die L„nge von 3 Bytes, wenn allerdings ein Fehler
auftritt werden 4 Bytes zurckgegeben.

Wie kann ich den read-Befehl absetzen, damit sowohl 3 Bytes als auch 4 Bytes
auf einmal gelesen werden:

unsigned char frage[4];
memset( frage, 0x00, sizeof(frage));
retval=read(port,frage,sizeof(frage));

geht nicht: h„ngt bei einer 3-Bytes-Antwort.

Wenn ich
unsigned char frage[3];
setze, kommt die Fehlermeldung mit 4 Bytes nicht vollst„ndig an und ich muss
nochmal ein weiteres read() mit 1 Byte nachholen.

Gibt's da eine andere M”glichkeit?

Viele Gráe

Claudia Neumann
Received on Fri Mar 26 2010 - 19:39:01 CET

This archive was generated by hypermail 2.2.0 : Fri Mar 26 2010 - 19:39:17 CET