Veröffentlicht 16. April 200223 j Hallo, für Leute die viel mit C/C++ arbeiten ist das sicher kein Problem, aber ich habe nicht allzu oft damit zu tun und stehe von einem kleinen Problem. Wie kann ich auch einem String einen bestimmten Teil herausholen und diesen in eine Integervariable speichern. Das umwandeln habe ich gesehen geht mit "atoi", aber es geht mir mehr um das herausholen. Z.B. Test1234XXX, da soll die Zahl raus, die Zahl steht in diesen Strings aber immer an der elben Stelle (3 Zeichen vor Schluss) und ist immer vierstellig. Danke schonmal ...
16. April 200223 j int i=atoi(string+offset); Du kannst den Offset ab dem Dein "int" im String zu finden ist einfach auf den char-Pointer addieren. Nic
17. April 200223 j Autor Danke, irgendwie bekomme ich es immernoch nicht hin Könnte ich evtl. mal ein konretes Beispiel für z.b den string "ABCDEFGHI=1234xyz haben" ? Also die vier Stellen mit den Zahlen (wie gehabt immer die selben Stellen) sollen in eine Integer Variable rein.
17. April 200223 j Autor Hmmm, dann muss mein Fehler woanderst liegen, danke erstmal, ich melde mich vielleicht wieder ...
17. April 200223 j Was geht denn bei Dir nicht? Mit einfach nur es geht nicht können wir ja auch nichts anfangen um DIr zu helfen! Bine
17. April 200223 j Autor Gut, das funktioniert soweit und danke erstmal, aber jetzt geh mein Problem noch etwas weiter, nämlich wenn ich z.B. den Sting ABCDEF=12345678 habe und erst soll trotzden nur die vier Stellen der Zahl holen, nämlich von der 1 bis zur 4, also wie setze ich qusi diesen Endpunkt ?
17. April 200223 j Dann musst Du den String verändern, und zwar so, dass atoi an dieser Stelle abbricht. Beispiel: char pString[] = "ABCDEFGHI=1234567"; *(pString + 14) = 'x'; // macht aus der 5 ein x int n = atoi( pString + 10 ); // ergibt 1234
17. April 200223 j Autor Ok, damit kann ich erstmal weiterarbeiten, ich melde mich wahrscheinlich später nochmal, aber erstmal vielen Dank. Echt toll
17. April 200223 j Autor Ok Danke, hat sich alles erledigt ... ich habe aber vor zum beschnippel den Befehl strncpy verwendet, dem kann man quasi string + offset + limitübergen und dann eben das Ergebnis per atoi konvertieren. Danke an alles und jetzt kann der hier eigentlich dicht gemacht werden.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.