ReadFile(CommPort) == unleserlicher String

TeCe

Erfahrenes Mitglied
Hallö...
Ich hab mich mal wieder durchgerungen meinen Anfänger-Programmierer-Horizont zu erweitern. Dabei kam mir die Idee ein "Modem" über serielle Schnittstelle anzusprechen.
Klappt alles soweit auch ganz gut...ich stelle mit CreateFile eine Verbindung her, gebe einige Daten zum Initialisieren rein und bin zufrieden.
Jedoch will ich die Antworten des Geräts auslesen, was ja bekanntlich mit ReadFile geschieht.
Klappt auch noch ganz gut, jedoch liest mein Programm die Antworten nur fehlerhaft aus meinem Buffer(catched).
In dem folgendem Beispiel schickt mein "Modem" bei einer bestimmten Aktion den Wert *EAMI: 2, mein Programm bekommt aber nur *EAMI:?.
Ebenso ist es bei Rückgaben die Anführungszeichen beinhalten...
Jemand´ne Idee wie ich den Inhalt von catched richtig auslesen!?


PHP:
if(ReadFile(thePort, &catched, 256, &portBuffer, NULL)) {
	if (strstr((LPCTSTR)&catched, "*EAMI:")) {//Menüpunkt wurde ausgewählt
		MessageBox(NULL, (LPCTSTR)&catched, "INFO", MB_OK+MB_ICONINFORMATION);
		return;
	}
}

vielen Dank schonmal, ich zähl auf euch :-)
 
Zuletzt bearbeitet:
so...hab´s geschafft!
Wenn es Jemand wissen möchte:
Wenn man einen seriellen(comm) Port auslesen will, muß man für den Puffer, in dem man empfangene Daten(ReadFile) speichert, eine feste Größe zuweisen.
char* ist da nicht drin, sondern in meinem Fall char catched[256]!
bis denne
 
Zurück