Gå til innhold

cin av en string med flere ord


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet (endret)

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
	
	

			
		
Skrevet

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;

//...

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

Skrevet

I tillegg til at trådstarter bruker string, så er ytelsen i så små programmer som dette her, uansett minimal. Dessuten så vil jeg tro at dine 256 bytes krever mer minne en en string, når navn ofte ikke er halvparten så lange engang. :)

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å
×
×
  • Opprett ny...