◐ Shell
clean mode source ↗

std::getline – cppreference.com

Aus cppreference.com

<tbody> </tbody>

definiert in Header

<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) (seit 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) (seit C++11)

getline liest Zeichen aus einem Eingabestrom und legt sie in einen 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.

1)

Verhält sich wie UnformattedInputFunction, außer dass input.gcount() wird nicht beeinflusst. Nach dem Bau und Prüfung der Schildwache Objekt, führt die folgenden:

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.

1)

Ruft 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.

2)

Extrahiert Zeichen aus input und fügt sie str, bis eines der folgenden Ereignisse eintritt (markiert in der aufgeführten Reihenfolge)

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.

a)

End-of-File-Bedingung auf input, in diesem Fall getline Sets

eofbit

und kehrt .

Original:

end-of-file condition on input, in which case, getline sets

eofbit

and returns.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

b)

der nächste verfügbare Eingabezeichen ist delim, wie durch Traits::eq(c, delim), in welchem ​​Fall das Trennzeichen aus input extrahiert getestet wird, ist aber nicht darauf str angehängt .

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.

c)

str.max_size() Zeichen gespeichert wurden, in diesem Fall getline Sets

failbit

und kehrt .

Original:

str.max_size() characters have been stored, in which case 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.

3)

Wenn keine Zeichen wurden aus irgendeinem Grund (nicht einmal die verworfen Trennzeichen), getline Sets

failbit

und kehrt extrahiert .

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.

2)

Gleiche wie getline(input, str, input.widen(’\n)), das heißt, das standardmäßige Begrenzungszeichen ist die Endlinie Charakter .

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.

Parameter

input -

der Strom, Daten von zu erhalten

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 -

die Zeichenkette zu setzen die Daten in

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 -

das Trennzeichen

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.

Rückgabewert

input

Beispiel

Der folgende Code fragt den Benutzer nach ihren Namen, dann grüßt sie mit diesem Namen .

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.

#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.";
}

Possible output:

What is your name? John Q. Public
Hello John Q. Public, nice to meet you.