C++: Szóközöket tartalmazó string bekérése
Programozással kapcsolatos cikkek / C, C++ (2937 katt)
Ha egy C++ konzol alkalmazásban egy olyan stringet szeretnénk bekérni a felhasználótól, amely szóközt is tartalmazhat, akkor problémákba ütközhetünk, ha a cin >> nev típusú megoldást próbáljuk meg használni:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string nev;
cout << "Ird be a neved: ";
cin >> nev;
cout << "Hello, " << nev << "!" << endl;
return 0;
}
Ebben az esetben ha a kérdésre névként a Pista bacsi szöveget adjuk meg, akkor a program válaszként a Hello, Pista! szöveget írja ki, azaz a szóköz utáni karakterek nem kerülnek be a nev változóba.
Ennek kiküszöbölésére használhatjuk a getline(cin, nev) utasítást az alábbi módon:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string nev;
cout << "Ird be a neved: ";
getline(cin, nev);
cout << "Hello, " << nev << "!" << endl;
return 0;
}
Ekkor már a teljes beírt szöveg (szóközökkel együtt) fog megjelenni a képernyőn.
Előző oldal | Kapitány |
Vélemények a műről (eddig 1 db) |