Schledo Geschrieben 16. April 2002 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 16. April 2002 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schledo Geschrieben 17. April 2002 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. April 2002 Teilen Geschrieben 17. April 2002 int n = atoi( "ABCDEFGHI=1234xyz" + 10 ); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schledo Geschrieben 17. April 2002 Autor Teilen Geschrieben 17. April 2002 Hmmm, dann muss mein Fehler woanderst liegen, danke erstmal, ich melde mich vielleicht wieder ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Woodstock Geschrieben 17. April 2002 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schledo Geschrieben 17. April 2002 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. April 2002 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schledo Geschrieben 17. April 2002 Autor Teilen Geschrieben 17. April 2002 Ok, damit kann ich erstmal weiterarbeiten, ich melde mich wahrscheinlich später nochmal, aber erstmal vielen Dank. Echt toll Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schledo Geschrieben 17. April 2002 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.