000
27.02.2010, 20:01 Uhr
Moritz1243
|
Hallo,
ich habe ein Problem mit der Try - Catch Anweisung. Das Problem besteht darin, dass ich den Socketclient nur 1 Mal aufrufen will, da danach ja eine Verbindung besteht und dann nur noch den Teil unten (zweiter Code). Dies ist aber nicht möglich da s dort gar nicht existiert, weil es ja eben nur in der Try - Catch Anweisung existiert.
Kann irgendwie machen, dass wenn kein Fehler entsteht das er dann s übergibt???
grüße Moritz.
C++: |
int main() {
BOOL connected = FALSE;
while(1) { try { //if (!connected) SocketClient s("192.168.178.32", 2000);
string l = s.ReceiveLine(); if (l.empty()) break; float data2[9]; //l.erase(l.length()-1,1) cout<<l<<endl; DecodeDataString(data2, sizeof(data2)/sizeof(data2[0]), l); for (unsigned int i = 0; i < sizeof(data2)/sizeof(data2[0]); i++) { cout<<data2[i]<<endl; } } catch (const char* s) { cerr << s << endl; } catch (std::string s) { cerr << s << endl; } catch (...) { cerr << "unhandled exception\n"; } } return 0; }
|
C++: |
string l = s.ReceiveLine(); if (l.empty()) break; float data2[9]; //l.erase(l.length()-1,1) cout<<l<<endl; DecodeDataString(data2, sizeof(data2)/sizeof(data2[0]), l); for (unsigned int i = 0; i < sizeof(data2)/sizeof(data2[0]); i++) { cout<<data2[i]<<endl; }
|
|