hur kan man göra så att man vänder på ordet. säg att jag skrivet
arne så skrivs det ut enra? något som jag har hört är att man skall använda cin.getline men jag har ingen aning om hur.
vända på ett ord
4 svar · 499 visningar · startad av dxm
Frågan#1
Kan tänka att du vill ha lite exempel på hur man läser in strängen också eftersom du undrade vad cin.getline var
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char tmp[255]; //Skapa en chararray som kommer innehålla texten
cout<<"Sträng: ";
cin.getline(tmp, 255); //Läs in de första 255 tecknen, eller fram till radbyte, och lagra i tmp
char textrad[*tmp.strlen] = strrev(tmp); //Kommer inte ihåg hur man skapade en chararray av dynamisk storlek, men det är nåt åt det här hållet...
cout << textrad;
}
Tror att detta kommer fungera, har dock ingen kompilator att prova i, och har inte hållit på med C/C++ på ett tag, så inga garantier :)
char textrad[strlen(tmp)] = strrev(tmp);
Inget av de senaste två alternativen är ens i närheten av att fungera. Herregud, om ni nu inte har en aning om svaret så skriv inte.
För att kopiera resultatet till en annan sträng:
char* reverse = new char[strlen(tmp) + 1];
strcpy( reverse, strrev(tmp));
//...
delete[] reverse;
För övrigt så finns det ingen funktion i C++ som heter strrev.
