Schledo Geschrieben 16. April 2002 Geschrieben 16. April 2002 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 ...
nic_power Geschrieben 16. April 2002 Geschrieben 16. April 2002 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
Schledo Geschrieben 17. April 2002 Autor Geschrieben 17. April 2002 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.
Klotzkopp Geschrieben 17. April 2002 Geschrieben 17. April 2002 int n = atoi( "ABCDEFGHI=1234xyz" + 10 );
Schledo Geschrieben 17. April 2002 Autor Geschrieben 17. April 2002 Hmmm, dann muss mein Fehler woanderst liegen, danke erstmal, ich melde mich vielleicht wieder ...
Woodstock Geschrieben 17. April 2002 Geschrieben 17. April 2002 Was geht denn bei Dir nicht? Mit einfach nur es geht nicht können wir ja auch nichts anfangen um DIr zu helfen! Bine
Schledo Geschrieben 17. April 2002 Autor Geschrieben 17. April 2002 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 ?
Klotzkopp Geschrieben 17. April 2002 Geschrieben 17. April 2002 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
Schledo Geschrieben 17. April 2002 Autor Geschrieben 17. April 2002 Ok, damit kann ich erstmal weiterarbeiten, ich melde mich wahrscheinlich später nochmal, aber erstmal vielen Dank. Echt toll
Schledo Geschrieben 17. April 2002 Autor Geschrieben 17. April 2002 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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden