-         

Ergebnis 1 bis 4 von 4

Thema: C++ Pointer / Int Vergleich

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.05.2005
    Alter
    26
    Beiträge
    601

    C++ Pointer / Int Vergleich

    Anzeige

    Hi,

    ich würde gerne aus einem String die einzelnen Buchstaben herauslesen und
    diese mit einem Buchstaben vergleichen. Der Zweck ist einen String in
    dem Zwei Zahlen durch ein "/" getrennt sind, wieder in 2 Zahlen aufzuteilen.
    Doch schon bei dem Vergleich mit dem "/" möchte der g++ Compiler nichts
    mehr machen. Evt. haben ja die C++ Pros einen Ratschlag.

    Code:
    		string str = "14213/45134";
    		int i;
    		
    		for (int i = 0; i < str.size(); i++)
    		{
    			if (str[i] == "/")
    			{
    				//machwas
    			}
    			cout << str[i] << endl;
    		}
    
    Fehler:
    ISO C++ forbids comparison between pointer and integer
    Grüße Furtion

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    29
    Beiträge
    1.221
    Als C-Programmierer würde ich sagen, vergleiche nicht ein Zeichen (Stringelement) mit einem String denn "/" bedeutet eigentlich: { '/', 0x00 }.
    Damit vergleichst du im Endeffekt mit einer Adresse, was wohl meist schiefgehen sollte.

    Probiere mal, anstelle von "/" ein '/', das sollte reichen ...

    Falls C++ so absurd anders sein sollte, dass das nicht stimmt - einfach ignorieren
    Zumindest der Compiler scheint meiner Meinung zu sein (Zeichen -> char -> Integer-Typ)

    mfG
    Markus

    Edit: Verworrene Gedanken entknotet

  3. #3
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    13.01.2008
    Ort
    Nordrhein-Westfalen
    Alter
    25
    Beiträge
    125
    Solltest du bei String bleiben wollen dann schaue dir mal:
    http://www.cplusplus.com/reference/string/string/find/ an

    So wie du es machst kannst du es aber mit einem char-array lösen ergo würdest du char str[30] nehmen anstatt string str.

    Aber auch find ist nicht schwer zu benutzen. Versuche erstmal die selber reinzufuchsen wenn es nicht weiter geht dann frag nochmal dann kann ich dir auch ein beispiel liefern

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Wie schon gesagt->
    "/" ergibt einen Pointer auf einen String
    also hat der Compiler recht.

    muss definitiv heissen
    if (str[i] == '/')
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •