Cin yra objektas, naudojamas priimti įvestį iš vartotojo, bet neleidžiantis priimti įvesties keliomis eilutėmis. Norėdami priimti kelias eilutes, naudojame funkciją getline(). Tai iš anksto nustatyta funkcija, apibrėžta a antraštės failas, naudojamas priimti eilutę arba eilutę iš įvesties srauto, kol aptinkamas skiriamasis simbolis.
Funkcijos getline() sintaksė:
Yra du funkcijos vaizdavimo būdai:
- Pirmasis deklaravimo būdas yra trijų parametrų perdavimas.
istream& getline( istream& is, string& str, char delim );
Aukščiau pateiktoje sintaksėje yra trys parametrai, t.y. yra, str , ir aš dalinuosi .
kur,
yra: Tai yra istream klasės objektas, nurodantis, iš kur nuskaityti įvesties srautą.
str: Tai eilutės objektas, kuriame saugoma eilutė.
velykiniai kiaušiniai androidDalintis: Tai yra ribinis simbolis.
Grąžinimo vertė
Ši funkcija grąžina įvesties srauto objektą, kuris perduodamas kaip parametras funkcijai.
- Antrasis deklaravimo būdas – perduoti du parametrus.
istream& getline( istream& is, string& str );
Aukščiau pateiktoje sintaksėje yra du parametrai, t.y. yra ir g . Ši sintaksė yra beveik panaši į aukščiau pateiktą sintaksę; vienintelis skirtumas yra tas, kad jis neturi jokio atribojimo.
kur,
yra: Tai yra istream klasės objektas, nurodantis, iš kur nuskaityti įvesties srautą.
java eilutę palyginkite
str: Tai eilutės objektas, kuriame saugoma eilutė.
Grąžinimo vertė
Ši funkcija taip pat grąžina įvesties srautą, kuris perduodamas kaip parametras funkcijai.
Supraskime per pavyzdį.
Pirmiausia pažiūrėsime į pavyzdį, kuriame vartotojo įvestį imame nenaudodami funkcijos getline().
#include #include using namespace std; int main() { string name; // variable declaration std::cout << 'Enter your name :' <>name; cout<<' hello '<<name; return 0; } < pre> <p>In the above code, we take the user input by using the statement <strong>cin>>name,</strong> i.e., we have not used the <strong>getline()</strong> function.</p> <p> <strong>Output</strong> </p> <pre> Enter your name : John Miller Hello John </pre> <p>In the above output, we gave the name 'John Miller' as user input, but only 'John' was displayed. Therefore, we conclude that cin does not consider the character when the space character is encountered.</p> <p> <strong>Let's resolve the above problem by using getline() function.</strong> </p> <pre> #include #include using namespace std; int main() { string name; // variable declaration. std::cout << 'Enter your name :' << std::endl; getline(cin,name); // implementing a getline() function cout<<' hello '<<name; return 0;} < pre> <p>In the above code, we have used the <strong>getline()</strong> function to accept the character even when the space character is encountered.</p> <p> <strong>Output</strong> </p> <pre> Enter your name : John Miller Hello John Miller </pre> <p>In the above output, we can observe that both the words, i.e., John and Miller, are displayed, which means that the getline() function considers the character after the space character also.</p> <p> <strong>When we do not want to read the character after space then we use the following code:</strong> </p> <pre> #include #include using namespace std; int main() { string profile; // variable declaration std::cout << 'Enter your profile :' << std::endl; getline(cin,profile,' '); // implementing getline() function with a delimiting character. cout<<' profile is :'<<p>In the above code, we take the user input by using getline() function, but this time we also add the delimiting character('') in a third parameter. Here, delimiting character is a space character, means the character that appears after space will not be considered.<p></p> <p> <strong>Output</strong> </p> <pre> Enter your profile : Software Developer Profile is: Software </pre> <h3>Getline Character Array</h3> <p>We can also define the getline() function for character array, but its syntax is different from the previous one.</p> <p> <strong>Syntax</strong> </p> <pre> istream& getline(char* , int size); </pre> <p>In the above syntax, there are two parameters; one is <strong>char</strong> *, and the other is <strong>size</strong> .</p> <p> <strong>Where,</strong> </p> <p> <strong>char*:</strong> It is a character pointer that points to the array.</p> <p> <strong>Size:</strong> It acts as a delimiter that defines the size of the array means input cannot cross this size.</p> <p> <strong>Let's understand through an example.</strong> </p> <pre> #include #include using namespace std; int main() { char fruits[50]; // array declaration cout<< 'Enter your favorite fruit: '; cin.getline(fruits, 50); // implementing getline() function std::cout << ' Your favorite fruit is :'<<fruits << std::endl; return 0; } < pre> <p> <strong>Output</strong> </p> <pre> Enter your favorite fruit: Watermelon Your favorite fruit is: Watermelon </pre> <hr></fruits></pre></' profile></pre></' hello></pre></' hello>
Aukščiau pateiktoje išvestyje kaip vartotojo įvestį suteikėme pavadinimą „John Miller“, tačiau buvo rodomas tik „Jonas“. Todėl darome išvadą, kad cin neatsižvelgia į simbolį, kai susiduria su tarpo simboliu.
Išspręskime aukščiau pateiktą problemą naudodami getline() funkciją.
#include #include using namespace std; int main() { string name; // variable declaration. std::cout << 'Enter your name :' << std::endl; getline(cin,name); // implementing a getline() function cout<<\' hello \'<<name; return 0;} < pre> <p>In the above code, we have used the <strong>getline()</strong> function to accept the character even when the space character is encountered.</p> <p> <strong>Output</strong> </p> <pre> Enter your name : John Miller Hello John Miller </pre> <p>In the above output, we can observe that both the words, i.e., John and Miller, are displayed, which means that the getline() function considers the character after the space character also.</p> <p> <strong>When we do not want to read the character after space then we use the following code:</strong> </p> <pre> #include #include using namespace std; int main() { string profile; // variable declaration std::cout << 'Enter your profile :' << std::endl; getline(cin,profile,' '); // implementing getline() function with a delimiting character. cout<<\' profile is :\'<<p>In the above code, we take the user input by using getline() function, but this time we also add the delimiting character('') in a third parameter. Here, delimiting character is a space character, means the character that appears after space will not be considered.<p></p> <p> <strong>Output</strong> </p> <pre> Enter your profile : Software Developer Profile is: Software </pre> <h3>Getline Character Array</h3> <p>We can also define the getline() function for character array, but its syntax is different from the previous one.</p> <p> <strong>Syntax</strong> </p> <pre> istream& getline(char* , int size); </pre> <p>In the above syntax, there are two parameters; one is <strong>char</strong> *, and the other is <strong>size</strong> .</p> <p> <strong>Where,</strong> </p> <p> <strong>char*:</strong> It is a character pointer that points to the array.</p> <p> <strong>Size:</strong> It acts as a delimiter that defines the size of the array means input cannot cross this size.</p> <p> <strong>Let's understand through an example.</strong> </p> <pre> #include #include using namespace std; int main() { char fruits[50]; // array declaration cout<< 'Enter your favorite fruit: '; cin.getline(fruits, 50); // implementing getline() function std::cout << ' Your favorite fruit is :'<<fruits << std::endl; return 0; } < pre> <p> <strong>Output</strong> </p> <pre> Enter your favorite fruit: Watermelon Your favorite fruit is: Watermelon </pre> <hr></fruits></pre></\' profile></pre></\' hello>
Aukščiau pateiktoje išvestyje galime pastebėti, kad rodomi abu žodžiai, ty John ir Miller, o tai reiškia, kad funkcija getline () taip pat atsižvelgia į po tarpo esantį simbolį.
Kai nenorime skaityti simbolio po tarpo, naudojame šį kodą:
#include #include using namespace std; int main() { string profile; // variable declaration std::cout << 'Enter your profile :' << std::endl; getline(cin,profile,' '); // implementing getline() function with a delimiting character. cout<<\' profile is :\'<<p>In the above code, we take the user input by using getline() function, but this time we also add the delimiting character('') in a third parameter. Here, delimiting character is a space character, means the character that appears after space will not be considered.<p></p> <p> <strong>Output</strong> </p> <pre> Enter your profile : Software Developer Profile is: Software </pre> <h3>Getline Character Array</h3> <p>We can also define the getline() function for character array, but its syntax is different from the previous one.</p> <p> <strong>Syntax</strong> </p> <pre> istream& getline(char* , int size); </pre> <p>In the above syntax, there are two parameters; one is <strong>char</strong> *, and the other is <strong>size</strong> .</p> <p> <strong>Where,</strong> </p> <p> <strong>char*:</strong> It is a character pointer that points to the array.</p> <p> <strong>Size:</strong> It acts as a delimiter that defines the size of the array means input cannot cross this size.</p> <p> <strong>Let's understand through an example.</strong> </p> <pre> #include #include using namespace std; int main() { char fruits[50]; // array declaration cout<< 'Enter your favorite fruit: '; cin.getline(fruits, 50); // implementing getline() function std::cout << ' Your favorite fruit is :'<<fruits << std::endl; return 0; } < pre> <p> <strong>Output</strong> </p> <pre> Enter your favorite fruit: Watermelon Your favorite fruit is: Watermelon </pre> <hr></fruits></pre></\' profile>
„Getline“ simbolių masyvas
Taip pat galime apibrėžti funkciją getline() simbolių masyvei, tačiau jos sintaksė skiriasi nuo ankstesnės.
Parsisiųsti youtube vaizdo įrašus į vlc
Sintaksė
istream& getline(char* , int size);
Aukščiau pateiktoje sintaksėje yra du parametrai; vienas yra char *, o kitas yra dydis .
kur,
char*: Tai simbolių rodyklė, nurodanti į masyvą.
Dydis: Jis veikia kaip skyriklis, apibrėžiantis masyvo dydį, todėl įvestis negali kirsti šio dydžio.
Supraskime per pavyzdį.
#include #include using namespace std; int main() { char fruits[50]; // array declaration cout<< 'Enter your favorite fruit: '; cin.getline(fruits, 50); // implementing getline() function std::cout << ' Your favorite fruit is :'<<fruits << std::endl; return 0; } < pre> <p> <strong>Output</strong> </p> <pre> Enter your favorite fruit: Watermelon Your favorite fruit is: Watermelon </pre> <hr></fruits>
\' profile>\' hello>' hello>