Ez miért nem úgy működik ahogy kéne? C++.
// main.cpp
# include <iostream>
# include <string.h>
int main(void) {
char anya, apa, mama, papa, testver, en ;
std::cout << "Az anya neve: " ;
std::cin.get(anya) ;
std::cout << "Az apa neve: " ;
std::cin.get(apa) ;
std::cout << "A mama neve: " ;
std::cin.get(mama) ;
std::cout << "A papa neve: " ;
std::cin.get(papa) ;
std::cout << "A testver neve: " ;
std::cin.get(testver) ;
std::cout << "Az en nevem: " ;
std::cin.get(en) ;
std::cout << std::endl ;
std::cout << "A csaladtagjaim: \n"
<< anya << std::endl
<< apa << std::endl
<< mama << std::endl
<< papa << std::endl
<< testver << std::endl
<< en ;
return int(0) ; }
Miért nem csinálja azt amit kéne?
Beírom,az anyám nevét és lefut az egész program.
A ki íratásnál meg nem jó megint csak.De ezt tudom,hogy miért van.
De stringet meg nem használhatok mert akarok szóközt is írni és így a cin nem fogja látni amit a szóköz után írok mert a szóköz helyére fogja tenni a \0 karaktert.
Jó hogy nem jó hiszen egy egy karaktert olvas be a cin.get, 6 db cin.get van ami "elfogyaszt" egy 6 karakter hosszú beírt string-et.
string str;
getline (cin,str); // egy sort olvas be
Még annyit kérdésnek,hogy a getline első paramétere valamilyen funkció az iostream fájlból?
A második paraméter egy string a harmadik pedig egy határoló karakter.
Jól mondtam az első paraméterel amit vár a getline ezzel nem vagyok teljesen tisztában.El tudnátok magyarázni?
Első paramétere istream& azaz input stream, ez lehet akár egy szöveges fájl is, vagy sok minden más lehet ami egyben istream is.
Második paramétere string&
harmadik pedig határoló karakter, azt tekinti sorvégjelnek, ezt nem muszály, nem szokás megadni.
Ha már nem using-olod be az std-t akkor így:
std::string str;
std::getline(std::cin,str);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!