std::getline – cppreference.com
Aus cppreference.com
<tbody> </tbody>
| definiert in Header <string> |
||
|
|
(1) | |
|
|
(1) | (seit C++11) |
|
|
(2) | |
|
|
(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
und kehrt .
Original:
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
und kehrt .
Original:
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
und kehrt extrahiert .
Original:
If no characters were extracted for whatever reason (not even the discarded delimiter), getline sets
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. |
| 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. |
| delim | - | das Trennzeichen Original: the delimiter character The text has been machine-translated via Google Translate. |
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.