Gå til innhold

cin av en string med flere ord


Anbefalte innlegg

Hei, har begynt å kode litt i C++, heilt basic. Byrja med string i dag, men greier ikkje sette fleire ord til ein string. Dette er Win32 konsoll applikasjoner.

 

string tekst;

cout << "Skriv inn tekst: " << endl;

cin >> tekst;

cout >> tekst;

return 0;

 

Programmet blir då sjåandes slik ut:

 

Skriv inn tekst: 
Eg skriver inn ein tekst på fleire ord!
Eg

 

Cin tar altså berre meg seg tegna fram til fyrste mellomrom. Korleis skal eg få heile teksten til å ligge i "tekst" strengen?

 

Takk for hjelp!

 

Mvh,

Øystein

Lenke til kommentar
Videoannonse
Annonse

bruk getline():

typedef charT char_type;
basic_istream& getline (char_type* s, streamsize n );
basic_istream& getline (char_type* s, streamsize n, char_type delim );

 

 

EKS:

 

 

#include <iostream>
using namespace std;

int main () {
 char name[256], title[256];

 cout << "Enter your name: ";
 cin.getline (name,256);

 cout << "Enter your favourite movie: ";
 cin.getline (title,256);

 cout << name << "'s favourite movie is " << title;

 return 0;
}

 

EDIT: brukte




			
				


	Endret  av hotstian
	
	

			
		
Lenke til kommentar
Eller, kansje heller:

//...

cout << "Enter you name: ";
string name;
getline(cin, name);

cout << "Enter your favourite movie: ";
string title;
getline(cin, title);

cout << name << "s favourite movie is " << title << endl;

//...

Du bruker string og jeg bruker char.

string er bra til lange texter(mer en 256 tegn) og char er bra til korte texter(minder en 256 tegn)

 

Min egen mening.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...