Hvordan ta en streng fra en inngangs fil og reversere den i C ++

Hvordan ta en streng fra en inngangs fil og reversere den i C ++


String manipulasjon er en viktig fasett av programmering. Programmeringsspråk som C og C ++ ikke nødvendigvis kommer klar til å håndtere komplekse streng manipulasjoner (selv om en programmerer kan noen ganger omgå dette problemet ved bruk av spesialmoduler). Lese en setning fra en fil og reversere det krever å ta straffen og lese tegnene, for å kopiere dem inn i en ny streng.

Bruksanvisning

1 Erklærer en brodd å reversere. Skriv inn følgende i teksteditor:

inkluderer <iostream> inkluder <fstream> inkluder <string>

bruker namespace std;

int main () {

string line1, linje2;

ifstream fil ( "filnavn.txt");

if (file.good ())

{

getline (fil, line1);

}

file.close ();

}

Målet er altså å ta "line1" (som inneholder en linje fra filen "filnavn.txt") og reversere den.

2 Lag en løkke for å iterere over strengen, i revers. Skriv inn følgende i teksteditor:

int i = (int) line1.length () -1;

for (i; i> = 0; I--)

{

line2 + = line1 [i]

}

Den "for" loop begynner med "i" refererer til posisjonen av det siste tegnet i setningen. Det føyer at brevet til line2, og flyttes til neste karakter line1 i revers.

3 Skriv ut motsatt linje. Skriv inn følgende i teksteditor, som følger etter løkken:

cout << line2 << endl;

Hvis line1 lese "reverse linjen," line2 bør lese "ENIL eht esrever."