string ontleden

Status
Niet open voor verdere reacties.

sanderDrost

Gebruiker
Lid geworden
17 mrt 2007
Berichten
16
ik wil een string ontleden, dus elke letter in een string apart kunnen gebruiken. Als ik het volgende programma gebruik waarmee ik dacht dat het zou moeten werken krijg ik een wat merkwaardige uitvoer.
Code:
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string s = "groningen";
    string::iterator pos;
    for( pos = s.begin(); pos != s.end(); ++pos)
    {
        cout<<pos<<endl;
    }
}

uitvoer:
groningen
roningen
oningen
ningen
ingen
ngen
gen
en
n

Weet iemand hoe ik het wel kan doen?

Bij voorbaat dank.

groet Sander.
 
Laatst bewerkt:
waarom makkelijk doen als moeilijk ook kan zeker :p

Een iterator IS een pointer, een string IS een pointer (char*[]). Dus de uitvoor die jij krijgt vraagt telkens de string af te drukken te beginnen vanaf de plaats waar iterator point....

Even terug naar een string IS een pointer: string s == char*[] s
dus als een string een karakterarray is, kan je gewoon zo werken:

Code:
#include <iostream>
#include <string> //voor de length methode
using namespace std;

int main()
{
    string s = "groningen";
    for (short i = 0; i < s.length(); i++) {
        cout << s[i] << endl;
    }
    return 0;
}

--Johan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan