AnsiString
-
... das hat sich nicht erledigt ... wirklich ein toller Scherz
Der obige Beitrag war nicht von mir. Kann mir jemand helfen ?
-
Hi,
gegen solche Scherze hilft nur ein, registrieren.
eine ganze Zeile liest man mit getline ein:
string wort; getline(cin,wort); // liest bis zum return ein wort.c_str(); // liefert einen nullterminierten string im char array format zurück
grüße Con@n
-
Hallo Eckes,
ersetze cin>>na; durch gets(na); //sowieso am besten
Damit ist das Problem mit den Leerzeichen gelöst und das char name[16] kann weiterverwendet werden. Deine "includierten Funktionalitäten" bleiben davon unberührt.
So wie ich das verstanden habe, funktionierte es bisher (nur mit den Leerzeichen hattest du Probleme).
-
Vieleicht hat noch jemand eine andere Lösung ?
-
Danke, funktioniert.
Warum ist gets() am besten. Was geht denn noch ?
-
ignorier linux, conan hat recht.
es sei denn, du willst deine struktur als raw data in eine datei schreiben. ist aber nicht sehr fein, es sei denn du hast sehr grosse dateien und musst haeufig einzelne datensaetze in der mitte lesen.
ich weiss nicht, ob du intrudor richtig verstanden hast, deine struktur sollte jetzt so aussehen:struct adr { std::string name; int plz; std::string ort; };
-
Hallo Eckes,
für gets(), genau wie getchar() must du <stdio.h> includieren.
Alternativ geht aber auch getline(variablenname,zeichenanzahl) !
-
Einfach mal ausprobieren. Gruss
int main()
{float floatwert = 1.24;
float gerundetezahl;
gerundetezahl=static_cast<int>((floatwert*10) + 0.5);
cout<<(gerundetezahl/10)<<"\n"; // ergibt 1.2
// Die Rundungsgenauigkeit wird mit steigt mit der Zehnerpotenzgetchar();
return 0;
}
-
Sorry, der letzte Beitrag gehört zu "Runden einer Dezimalzahl".
-
nur, dass man nicht stdio.h sondern cstdio einbindet
und std::string ist sowieso 10x besser als ein raw-char[]
-
... na, wenigstens ist deine Antwort witzig