Om du ska inhämta en sträng från användaren kan det göras på följande sätt om det bara rör sig om ett enstaka ord:

cin>>strängnamn;

Ovanstående fungerar inte för fraser (flera ord) eftersom cin uppfattar att inmatningen är slut när den stöter på ett mellanslag / blanktecken. För fraser skriver du i stället så här.

getline(cin,strängnamn);

Vi kan nu testa hur detta fungerar med följande kod:


 Exempel 6.1

			
 #include <iostream>
 #include <string>

 using namespace std;

 int main()
 {
  cout<<"Ange ditt fullständiga namn"<<endl;
  string namn;
  getline(cin,namn);
  cout<<"Du heter "<<namn<<endl;
  return 0;
 }
 

Använder du Borland C++ 5.0 så måste du även ange vilket tecken som avslutar inmatningen när du använder getline. Du ska alltså då skriva så här:
getline(cin, strängnamn, '\n');

Använder du Visual C++ 6.0 så rymmer den en bugg rörande getline som finns kvar även om du installerat servicepack 5. Du kan själv åtgärda buggen genom att editera string-filen enligt Microsofts anvisningar. Känner du dig osäker på hur du ska göra så kan du erhålla en korrekt string-fil från din lärare.

 
© Stockholms Stad 2001