sscanf()-findet nichts, obwohl es vorhanden ist!!!
lima-city → Forum → Programmiersprachen → C/C++ und D
ansatz
auftreten
aussehen
blicken
deswegen
funktion
gewonnenen positionen
netzwerk
null
recht
sitzen
stehen
string
ziffer
-
kann mir jemand helfen??
ich sitze schon seid tagen an diesem script und es will einfach nicht laufen!!!
code: (hier wird eine netzwerk-nachricht empfangen und verarbeitet!)
char *pBuf = new char[1025];
int iBufSize = 1024;
int iRcvd;
int player2pos=0;
iRcvd = m_sConnectSocket.Receive(pBuf, iBufSize);
if (iRcvd == SOCKET_ERROR){
}else{
pBuf[iRcvd] = NULL;
///////////////////////////////
sscanf(pBuf,"PP %d",&player2pos); // aktualisiert player2pos nicht (bleibt 0)!!! wieso?
m_ip=pBuf;// liefert z.B.: "x? PP 187"
UpdateData(false);//
///////////////////////////////
}
^^siehe kommentare -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn ich das richtig verstanden habe, willst du aus dem String pBuf die Zahl extrahieren und das funktioniert nicht !?
Wenn "x? PP 187" in pBuf enthalten ist kann die sscanf-Funktion so nicht funktionieren. Dann m?sste es schon so aussehen:
sscanf(pBuf,"x? PP %d",&player2pos);
Allerdings vermute ich mal, dass die Stellen/Chars vor "PP" variieren, oder? Dann br?uchstest du einen anderen Ansatz. Wenn bspw. die Zahl immer am Ende des Strings stehen w?rde, k?nntest du den String von rechts nach links durchgehen, bis keine Ziffer mehr auftritt. Mit den daraus gewonnenen Positionen k?nntest du die Zahl in einen neuen String kopieren und dann mit atoi in eine Zahl wandeln.
Etwas aufw?ndiger, aber ist das was mir auf den ersten Blick so einf?llt - vielleicht pr?zisierst du dein Problem noch etwas. So kann man nicht viel helfen...
Gru?
Talpa -
das hat bei mir eigentlich immer so geklappt!
also, dass der string irgendwo in pBuf zu finden ist, deswegen habe ich das nicht so ganz verstanden!
aber egal - trotzdem danke!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage