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. |
| Definido no cabeçalho <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) | (desde 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) | (desde C++11) |
getline lê caracteres a partir de um fluxo de entrada e coloca-los em uma string: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 comporta como
UnformattedInputFunction, exceto que input.gcount() não é afetado. Depois de construir e verificar o objeto de sentinela, executa o seguinte: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)
Chama
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)
Extrai personagens de
input e acrescenta-lhes a str até uma das seguintes situações (marcada na ordem listada)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)
fim-de-arquivo na condição
input, caso em que, getline conjuntos eofbit e retornos.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)
o caracter de entrada disponível é
delim, como testado por Traits::eq(c, delim), caso em que o carácter delimitador é extraído input, mas não é acrescentado ao 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)
Caracteres
str.max_size() foram armazenados, caso em que getline conjuntos failbit e retornos.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)
Se nenhum dos caracteres foram extraídos por qualquer motivo (nem mesmo o delimitador descartados),
getline conjuntos failbit e retornos.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)
Mesmo que
getline(input, str, input.widen(’\n’)), isto é, o padrão é o carácter delimitador endline.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.
Parâmetros
| input | - | o fluxo para obter os dados
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 | - | a corda para colocar os dados
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 | - | o caractere delimitador
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. |
Valor de retorno
input
Exemplo
O código a seguir pede ao usuário para o seu nome, em seguida, cumprimenta-los usando esse nome .
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.";
}
Potencial saída:
What is your name? John Q. Public
Hello John Q. Public, nice to meet you.