Problem mit Iteratoren

Diskutiere Problem mit Iteratoren im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hallo Leute! hab da mal folgendes Problem: Bei mir will die stringfunktion insert() einfach nicht klappen und möchte nun fragen wieso nicht,ich...

  1. #1 Kayzill, 17.02.2003
    Kayzill

    Kayzill Greenpeace[GNU-Abteilung]

    Dabei seit:
    16.02.2003
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    /usr/home/dave
    Hallo Leute!
    hab da mal folgendes Problem:
    Bei mir will die stringfunktion insert() einfach nicht klappen und möchte nun fragen wieso nicht,ich poste mal ein bischen code:
    Code:
    vector<char> ready(20);
    vector<char> space(2);
    space[0]=(char)" ";
    vector<char>::const_iterator spa=text.begin();
    for(;spa<text.end();spa++)
    {
    spa=find(spa,text.end(),'Ä');
    text.insert(spa,10,'X');
    };
    
    mr.Debugger sagt er hätte Probleme mit dem Iterator 'spa',ich verstehe aber nicht wieso,immerhin müsste er doch richtig definiert worden sein,ich hoffe das ihr mir helfen könnt!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. mapiox

    mapiox Tripel-As

    Dabei seit:
    21.04.2002
    Beiträge:
    176
    Zustimmungen:
    0
    wie ist denn text deklariert ?

    Oder sollte der Iterator auf das erste Element von einem Vector zeigen ?
     
  4. #3 Kayzill, 17.02.2003
    Kayzill

    Kayzill Greenpeace[GNU-Abteilung]

    Dabei seit:
    16.02.2003
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    /usr/home/dave
    text ist auch ein vektor aus chars,spa soltle auf auf das erste Element des vektors zeigen,was ya nicht klappen will.
    MfG
     
  5. mapiox

    mapiox Tripel-As

    Dabei seit:
    21.04.2002
    Beiträge:
    176
    Zustimmungen:
    0
    const_iterator geht nicht da nur read_only, du möchtest aber etwas einfügen.
    Code:
    vector<char>::iterator spa = text.begin();
    
    Dieses Beispiel funktioniert, wenn die Anzahl der Elemente des Vectors angegeben wird und genügend Platz zum einfügen vorhanden ist:
    Code:
    vector<char> text(200);
    // füllen ....
    vector<char>::iterator spa = text.begin();
    
     for( ; spa < text.end(); ++spa)
     {
       spa = find(spa,text.end(),'Ä');
       if(spa==text.end()) break;
       text.insert(spa,10,'X');
       spa+=10;
     } 
    
    Bei
    Code:
    vector<char> text;
    
    ändert sich nach insert die Größe des Vectors und der Iterator ist dann üngültig.
     
  6. #5 Kayzill, 17.02.2003
    Kayzill

    Kayzill Greenpeace[GNU-Abteilung]

    Dabei seit:
    16.02.2003
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    /usr/home/dave
    ah okay das hab ich mri schon gedacht,nur irgendwie ging das ohen const auch net,ich probiers nachher mal bei mir Zuhause und danke hiermit schonmal:)
    MfG
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 LiquidAcid, 08.07.2003
    LiquidAcid

    LiquidAcid Grünschnabel

    Dabei seit:
    08.07.2003
    Beiträge:
    3
    Zustimmungen:
    0
    Ort:
    NRW
    Versuch mal den Iterator auf Ungleichheit mit dem End-Iter zu testen, also != xyz.end(), so mache ich das immer. KA obs wirklich daran liegt.

    cya
    liquid
     
  9. trapni

    trapni Grünschnabel

    Dabei seit:
    09.07.2003
    Beiträge:
    2
    Zustimmungen:
    0
    Ort:
    Germany/Berlin
    Nun, so wie es aussieht willst du in einem string einfach alle AEs durch ein X ersetzen, dazu kannst du die einfache std::replace(beginIter, endIter, oldV, newV) benutzen:

    Code:
    std::replace(text.begin(), text.end(), 'ä', 'X');
    Zumal in deinem code sowieso ungeklaerte und falsche dinge drin standen, die aber wohl schon oben genannt wurden.

    MfG,
    Christian.
     
Thema:

Problem mit Iteratoren

Die Seite wird geladen...

Problem mit Iteratoren - Ähnliche Themen

  1. Iteratoren-Problem

    Iteratoren-Problem: Hallo, ich hab vor einiger Zeit angefangen mein erstes C++-Buch zu lesen und bin jetzt auch schon beim zweiten. Da man aber bekanntlich am besten...
  2. Netzwerkproblem ? , wo ud wie suchen

    Netzwerkproblem ? , wo ud wie suchen: Hallo Folgende Problem: Testserver ist i686 Debian-unstable , auf dem läuft primär der apt-proxy apt-cahcer ng. Zugriff im Moment nur per ssh....
  3. Verständnisproblem Samba / LDAP

    Verständnisproblem Samba / LDAP: Hallo zusammen! Ich habe unter Ubuntu 16.04 einen LDAP und Samba Server aufgesetzt. Diese scheinen auch ordnungsgemäß zu funktionieren, sodaß ich...
  4. nginx+php-fpm problem

    nginx+php-fpm problem: Moin, ich hab hier gerade ein Problem und keine Idee mehr woran es liegt. Ich muss wie schon in der Überschrift erwähnt nginx dazu bringen php...
  5. Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen

    Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen: Ich mache gerade meine ersten Schritte mit Linux und würde gerne auf Dateien meines Linuxsystems auch mit Windows zugreifen, ich bin am...