Förmodligen är det nulltecknet <-> vagnretur som strular. Ta bort string deklarationen och byt ut getline-raden med dessa rader så funkar det nog:
char _namn[25];
cin.getline(_namn,25);
string namn(_namn);
1 svar · 440 visningar · startad av tarfala
vad är fel i följande kod (får en onödig tomrad...vid körning)
#include <iostream>
#include <string>
using namespace std;
main()
{
string namn;
{
cout \<\< "Skriv ditt namn: ";
getline(cin, namn);
if(namn\[0\] == '\\0')
EOF;
else
if (namn.find(' ') == string::npos)
cout \<\< "Du måste ange både för- och efternamn!" \<\< endl;
else
{
int spacePos = namn.find(' ');
cout \<\< namn.substr(spacePos+1,namn.size()) \<\< ", "\<\< namn.substr(0,spacePos) \<\< endl;
}
}
return 0;
}
Förmodligen är det nulltecknet <-> vagnretur som strular. Ta bort string deklarationen och byt ut getline-raden med dessa rader så funkar det nog:
char _namn[25];
cin.getline(_namn,25);
string namn(_namn);