Avatar billede stenovitz Praktikant
01. februar 2006 - 18:49 Der er 3 kommentarer

cin.getline spørgsmål

Jeg roder med lidt konsolkode i BCB5, hvor der bla. benyttes getline-funktionen fra cin-klassen, altså noget i stil med

...........
char inputstr[30];
cout << "Input string: ";
cin.getline(inputstr, sizeof(inputstr) -1);
...........

Når jeg eksekverer koden, er jeg nødt til at trykke <enter> hele TO gange for at komme videre i teksten. Hvordan ændrer jeg dette, så der kun skal tastes <enter> en enkelt gang for at inputstr er indlæst? Har det noget med compileropsætningen at gøre eller noget programmeringsteknisk?
Avatar billede arne_v Ekspert
01. februar 2006 - 19:04 #1
mit gæt er at du blander
  cin >>
og
  cin.getline
det giver notorisk problemer

enten
  cin >>
eller
  cin.getline

så bør det virke !
Avatar billede stenovitz Praktikant
01. februar 2006 - 19:11 #2
Tak for et bud. Desværre er det ikke tilfældet. Jeg blander ikke >> operator og getline-funktionen. Jeg har ligeledes nu prøvet at udelade cout << operatoren ovenover og nedenunder. Stadig skal jeg under programkørsel trykke enter 2 gange for at komme videre, altså alene ved linien

cin.getline(inputstr, sizeof(inputstr) -1);

(eller simplere: cin.getline(inputstr, 30); ).

Problemet må derfor ligge andetsteds.
Avatar billede bertelbrander Novice
01. februar 2006 - 20:02 #3
Brug string versionen:

  string inputstr;
  cout << "Input string: ";
  getline(cin, inputstr);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester