std::getline
De cppreference.com
[] |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Dclar dans l'en-tte <string>
|
||
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>& input, std::basic_string<CharT,Traits,Allocator>& str, CharT delim ); |
(1) | |
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input, std::basic_string<CharT,Traits,Allocator>& str, CharT delim ); |
(1) | (depuis C++11) |
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>& input, std::basic_string<CharT,Traits,Allocator>& str ); |
(2) | |
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input, std::basic_string<CharT,Traits,Allocator>& str ); |
(2) | (depuis C++11) |
getline lit les caractres partir d'un flux d'entre et les place dans une chane:Original:
getline reads characters from an input stream and places them into a string:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
1)
Se comporte comme
UnformattedInputFunction, sauf que input.gcount() n'est pas affecte. Aprs la construction et la vrification de l'objet sentinelle, effectue les oprations suivantes:Original:
Behaves as
UnformattedInputFunction, except that input.gcount() is not affected. After constructing and checking the sentry object, performs the following:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
1)
Appels
str.erase()Original:
Calls
str.erase()The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
Extrait les caractres de
input et les ajoute str jusqu' ce qu'un des vnements suivants se produit (vrifi dans l'ordre indiqu)Original:
Extracts characters from
input and appends them to str until one of the following occurs (checked in the order listed)The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
a)
fin-de-fichier sur la situation
input, dans ce cas, getline ensembles eofbit et retours .Original:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
b)
le caractre d'entre suivant est disponible
delim, telle que mesure par Traits::eq(c, delim), dans ce cas, le caractre de dlimitation est extrait de input, mais n'est pas ajout str .Original:
the next available input character is
delim, as tested by Traits::eq(c, delim), in which case the delimiter character is extracted from input, but is not appended to str.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
c)
str.max_size() caractres ont t stocks, dans ce cas, getline ensembles failbit et retours .Original:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
3)
Si aucun caractre ont t extraites pour une raison quelconque (mme pas jet le dlimiteur),
getline ensembles failbit et retours .Original:
If no characters were extracted for whatever reason (not even the discarded delimiter),
getline sets failbit and returns.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2)
Mme que
getline(input, str, input.widen(\n)), soit le dlimiteur par dfaut est le caractre fin de ligne .Original:
Same as
getline(input, str, input.widen(\n)), that is, the default delimiter is the endline character.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Paramtres
| input | - | le flux pour obtenir les donnes
Original: the stream to get data from The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| str | - | la chane pour mettre les donnes
Original: the string to put the data into The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| delim | - | le caractre dlimiteur
Original: the delimiter character The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Retourne la valeur
input
Exemple
Le code suivant demande l'utilisateur son nom, puis les salue l'aide de ce nom .
Original:
The following code asks the user for their name, then greets them using that name.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <string>
#include <iostream>
int main()
{
std::string name;
std::cout << "What is your name? ";
std::getline(std::cin, name);
std::cout << "Hello " << name << ", nice to meet you.";
// read file line by line
std::istringstream input;
input.str("1\n2\n3\n4\n5\n6\n7\n");
int sum = 0;
for (std::string line; std::getline(input, line); )
sum += std::stoi(line);
std::cout << "\nThe sum is " << sum << ".\n\n";
// use separator to read parts of the line
std::istringstream input2;
input2.str("a;b;c;d");
for (std::string line; std::getline(input2, line, ';'); )
std::cout << line << '\n';
return 0;
}
Rsultat possible :
What is your name? John Q. Public
Hello John Q. Public, nice to meet you.
The sum is 28.
a
b
c
d