[c] bestimmte Zeichenfolgen aus String auslesen

Diskutiere [c] bestimmte Zeichenfolgen aus String auslesen im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hi Leute Sorry wenn es dazu schonmal ein Thema gab, aber die SUFU war bei mir nun relativ erfolglos, weil ich nicht genau weiss, was ich suchen...

  1. #1 Zico, 29.08.2006
    Zuletzt bearbeitet: 29.08.2006
    Zico

    Zico Lebende Foren Legende

    Dabei seit:
    16.04.2004
    Beiträge:
    1.559
    Zustimmungen:
    0
    Hi Leute

    Sorry wenn es dazu schonmal ein Thema gab, aber die SUFU war bei mir nun relativ erfolglos, weil ich nicht genau weiss, was ich suchen soll.

    Mein kleines Hobbyprogramm wird nun relativ anspruchsvoll (für meine Kenntnisse) und nun stoße ich an meine Grenzenbei folgender Sache:

    Ich hae einen String, in welchem, ein Seitenverhältnis definiert wird.
    Beispiel: aspect = 16zu7.5;
    Nun würde ich gerne die 16 sowie 7.5 in getrennten Variablen speichern.

    Wie ließe sich das für mich am besten lösen?
    Vielleicht hilft es noch klar zu stellen, dass die länge der jeweiligen Zahlen so variabel wie möglich sein sollen. Also mit oder ohne Dezimalstelle, einstellig, zweistellig etc.
    Zudem könnte es auch vorkommen, dass der Sting in Form von ZEICHENKETTE,ZAHL1,ZEICHENKETTE,ZAHL2 auftritt, quasi
    aspect16zu7.5

    Wenn mir nu jemand den Namen der Funktion nennen kann, die ich brauche, ist das schon genug für mich. Ok ein Beispiel (weil ich dabei immer am besten lerne) wäre auch sehr nett - aber definitv kein Muss.

    Vielen Dank
    zico
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 theton, 29.08.2006
    Zuletzt bearbeitet: 29.08.2006
    theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Einmal rekursiv durch den String laufen und die einzelnen Zeichen untersuchen, ob sie ein int oder ein '.' sind, sollte doch innerhalb eines for(i=0;i<=strlen(meinstring);i++) mit isdigit() problemlos moeglich sein. Einfach den Schleifenzaehler als Index fuer das aktuelle Zeichen im String nutzen.
    Ist dann das vorherige Zeichen ein int oder ein '.', fasst du einfach die zusammengehoerigen Zeichen (Zahlen (+ '.' + Zahlen)) in einer Variable zusammen und je nachdem ob ein '.' drin ist oder nicht, wandelst du dann einfach mit atoi() oder strtof() die Werte um, falls du sie als int bzw. float brauchst.
    Das Problem bei Strings mit variabler Laenge und variablem Vorkommen der gesuchten Zeichen(ketten). :) Sonst koenntest du ja einfach mit sscanf() arbeiten.
    Alternativ arbeitest du einfach mit pcre. Damit kannst du Regexes in C nutzen.
     
  4. zyon

    zyon undeadlyBSD

    Dabei seit:
    03.11.2005
    Beiträge:
    333
    Zustimmungen:
    0
    Ort:
    Göttingen
    sowas bitte nicht schreiben wenn dann sowas :

    Code:
    int sooolang = strlen(meinstring);
    for(i=0;i<=sooolang i++)
    
    ansonsten wird wie sooolang oben beschreiben hat jedesmal die funktion "strlen" aufgerufen.

    gruß

    zyon
     
  5. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Was rechenzeitmaessig nicht allzuviel ausmachen wuerde. *anmerk* Und solange der String nicht vom Benutzer definierbar ist, sehe ich auch sonst kein Problem damit, strlen() direkt in der Schleife zu nutzen.
     
  6. hwj

    hwj Doppel-As

    Dabei seit:
    23.06.2006
    Beiträge:
    131
    Zustimmungen:
    0
    Ort:
    Bei Buxtehude
    Verschwender !:oldman
     
  7. #6 RootUser, 07.09.2006
    RootUser

    RootUser Grünschnabel

    Dabei seit:
    04.09.2006
    Beiträge:
    8
    Zustimmungen:
    0
    ein strtok() auf "zu" würde mir da spontan einfallen... und dann halt schön mit atof() hingehen und viel spass mit deinen verhältnissen *g*
     
Thema:

[c] bestimmte Zeichenfolgen aus String auslesen

Die Seite wird geladen...

[c] bestimmte Zeichenfolgen aus String auslesen - Ähnliche Themen

  1. Zeilen behalten, die Werte in einem bestimmten Bereich enthalten

    Zeilen behalten, die Werte in einem bestimmten Bereich enthalten: Hallo, ich habe eine Datei mit 4 Spalten, in denen Zahlenwert liegen. Ich möchte gerne alle Zeilen behalten, bei denen der Wert in der dritten...
  2. Zeilen aus Txt-Datei entfernen, wenn eine Spalte einen bestimmten Wert enthält

    Zeilen aus Txt-Datei entfernen, wenn eine Spalte einen bestimmten Wert enthält: Hallo, ich habe folgendes Problem. Ich erstelle mit Hilfe einer Shell eine Liste, die vier Spalten mit Zahlenwerten enthält. Wenn die letzte...
  3. Skript ausführen sobald bestimmtes Fenster geöffnet/geschlossen

    Skript ausführen sobald bestimmtes Fenster geöffnet/geschlossen: Hallo, ich suche ein Tool um Skripte auszuführen sobald ein bestimmtes Fenster, z. b. zu erkennen am Titel, geöffnet oder geschlossen wird. Gibt...
  4. Ein Wort hinter einer bestimmten Zeichenfolge suchen und ausgeben

    Ein Wort hinter einer bestimmten Zeichenfolge suchen und ausgeben: Hallo, ich habe eine Datei, die ich nach bestimmten Wörtern durchsuchen und, wenn gefunden, x Zeichen hinter sdiesem Wort ausgeben möchte....
  5. SSH auf bestimmte IPs für bestimmte User

    SSH auf bestimmte IPs für bestimmte User: Hallo zusammen, ich möchte auf einem CentOS7 für bestimmte OS-Benutzer den Zugriff per SSH nur auf bestimmte IP's erlauben. Ich habe aber kim...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden