Hvordan modtager jeg en string fra keyboardet og skriver den i en fil?

Tags:    c++

Hvordan modtager jeg en string fra keyboardet og skriver den ned i en fil. Jeg har nedenstående kode, men det giver mig ikke lov til at lave cin>>enSTring;
Fold kodeboks ind/udKode 


Jeg tror noget af det ligger begravet i forskellen mellem string og string.h, samt i mit namespace. Hvis ikke dette eksempel kan bruges så skriv venligst et kode eksempel til mig. På forhånd tak.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Har prøvet den, men '\\n' er ikke en char, da der er to karakterer, og jeg ved ikke om funktionen getline vil acceptere en string. Hmmmmm........

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Hej,
man kan sagtens bruge '\\n'. Det _er_ en char, selvom der er to tegn. Følgende virker fint hos mig:

<pre>
#include <iostream>
#include <string>

int main(int argc, char *argv[]) {
string str;
getline(cin, str, '\\n');
cout << tekst;
return 0;
}
</pre>

Jeg bruger godt nok gcc, men jeg kan ikke se at det skulle gøre nogen forskel i den sammenhæng. Hvis din compiler ikke godtager '\\n' som en char, hvilket lyder meget mærkeligt, kan du også bruge

<pre>
..
getline(cin, str, (char)0xa);
..
</pre>

Søren Nielsen, sosn@horsens.ih.dk
How about them transparent dangling carrots? - Alanis Morisette



fandt selv ud af det, skulle bruge iostream istedet for iostream.h - klart nok egentligt. Nu har jeg et andet problem (pointene går videre) når jeg indtaster min string fra keyboardet gemmer den kun indtil det første mellemrum i min fil, hvordan kommer jeg ud over det?

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Fandt også ud af det selv......brugte getline();
hvordan kan jeg undgå at angive hvilken karakter, der skal afslutte min tekst linie. Hmmm, det lød ikke rigtigt, her er et eksempel:
Fold kodeboks ind/udKode 

Jeg vil gerne ud over at skulle bruge | som end-og-line markør i min string. Hvordan kan jeg komme til at bruge noget som er mere naturligt for brugeren som fx. enter.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Fandt også ud af det selv......brugte getline();
hvordan kan jeg undgå at angive hvilken karakter, der skal afslutte min tekst linie. Hmmm, det lød ikke rigtigt, her er et eksempel:
Fold kodeboks ind/udKode 

Jeg vil gerne ud over at skulle bruge | som end-og-line markør i min string. Hvordan kan jeg komme til at bruge noget som er mere naturligt for brugeren som fx. enter.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Er ikke helt sikker, men kunne det ikke være noget som '\\n' ?



Har prøvet den, men '\\n' er ikke en char, da der er to karakterer, og jeg ved ikke om funktionen getline vil acceptere en string. Hmmmmm........

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



t