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 ... Zitieren
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 Zitieren
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. Zitieren
Klotzkopp Geschrieben 17. April 2002 Geschrieben 17. April 2002 int n = atoi( "ABCDEFGHI=1234xyz" + 10 ); Zitieren
Schledo Geschrieben 17. April 2002 Autor Geschrieben 17. April 2002 Hmmm, dann muss mein Fehler woanderst liegen, danke erstmal, ich melde mich vielleicht wieder ... Zitieren
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 Zitieren
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 ? Zitieren
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 Zitieren
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 Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.