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."