std::basic_istream::get
Материал из cppreference.com
< cpp | io | basic istream
![]() | Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
int_type get(); | (1) | |
basic_istream& get( char_type& ch ); | (2) | |
basic_istream& get( char_type* s, std::streamsize count ); | (3) | |
basic_istream& get( char_type* s, std::streamsize count, char_type delim ); | (4) | |
basic_istream& get( basic_streambuf& strbuf ); | (5) | |
basic_istream& get( basic_streambuf& strbuf, char_type delim ); | (6) | |
Извлекает символ или символы из потока.
Оригинал:
Extracts character or characters from stream.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Все версии ведут себя как
1) UnformattedInputFunction
s. После построения и проверки часового объекта, эти функции выполнить следующие действия:Оригинал:
All versions behave as
UnformattedInputFunction
s. After constructing and checking the sentry object, these functions perform the following:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
читает один символ и возвращает его, если доступно. В противном случае, возвращается Traits::eof() и наборы
2) failbit
и eofbit
.Оригинал:
reads one character and returns it if available. Otherwise, returns Traits::eof() and sets
failbit
and eofbit
.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
читает один символ и сохраняет его в
3) ch
если таковые имеются. В противном случае, оставляет ch
немодифицированных и устанавливает failbit
и eofbit
. Обратите внимание, что эта функция не перегружена на типы signedchar и unsignedchar, в отличие от оператора operator>>.Оригинал:
reads one character and stores it to
ch
if available. Otherwise, leaves ch
unmodified and sets failbit
and eofbit
. Note that this function is not overloaded on the types signedchar and unsignedchar, unlike the formatted character input operator>>.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
так же, как get(s, count, widen('\n')), то есть читает не более count-1 символы и сохраняет их в строку символов, на которую указывает
4) s
до '\n' найден.Оригинал:
same as get(s, count, widen('\n')), that is, reads at most count-1 characters and stores them into character string pointed to by
s
until '\n' is found.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
читает символы и сохраняет их в последовательные мест массив символов, первый элемент, на который указывает
s
. Персонажи взяты и хранятся до любого из следующих событий:Оригинал:
reads characters and stores them into the successive locations of the character array whose first element is pointed to by
s
. Characters are extracted and stored until any of the following occurs:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- N-1 символов были сохраненыОригинал:n-1 characters have been storedТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- конец файла состояние возникает во входной последовательности (setstate(eofbit) называется)Оригинал:end of file condition occurs in the input sequence (setstate(eofbit) is called)Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- следующий доступный ввода символов
c
равноdelim
, как это определено Traits::eq(c, delim). Этот символ не извлекаются (в отличие от basic_istream::getline())Оригинал:the next available input characterc
equalsdelim
, as determined by Traits::eq(c, delim). This character is not extracted (unlike basic_istream::getline())Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если символы не были извлечены, называет setstate(failbit). В любом случае, если
5) count>0
, нулевой символ (CharT() хранятся в следующем последовательных расположение массива.Оригинал:
If no characters were extracted, calls setstate(failbit). In any case, if
count>0
, a null character (CharT() is stored in the next successive location of the array.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Же, как get(strbuf, widen('\n')), то есть читает доступных символов и вставляет их в данном basic_streambuf объект, пока '\n' найден..
6) Оригинал:
same as get(strbuf, widen('\n')), that is, reads available characters and inserts them to the given basic_streambuf object until '\n' is found.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
читает символы и вставляет их в выходной последовательности контролируется данного объекта basic_streambuf персонажи будут извлечены и вставлены в
strbuf
до любого из следующих событий:.Оригинал:
reads characters and inserts them to the output sequence controlled by the given basic_streambuf object. Characters are extracted and inserted into
strbuf
until any of the following occurs:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- конец файла состояние возникает во входной последовательностиОригинал:end of file condition occurs in the input sequenceТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- вставить... выходной последовательности не удается (в этом случае характера, которые не могли быть вставлены, не извлекается)Оригинал:insert into the output sequence fails (in which case the character that could not be inserted, is not extracted)Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- следующего доступного ввода символов
c
равноdelim
, как это определено Traits::eq(c, delim). Этот персонаж не извлекается.Оригинал:the next available input characterc
equalsdelim
, as determined by Traits::eq(c, delim). This character is not extracted.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- происходит исключение (в этом случае исключение ловится, а не вызвано повторно)Оригинал:an exception occurs (in which case the exception is caught and not rethrown)Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Если символы не были извлечены, звонки setstate(failbit).
Оригинал:
If no characters were extracted, calls setstate(failbit).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Все версии установите значение
gcount()
на количество символов, извлеченных.Оригинал:
All versions set the value of
gcount()
to the number of characters extracted.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править]Параметры
ch | — | ссылка на символ, чтобы написать результат Оригинал: reference to the character to write the result to Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
s | — | Указатель на строку символов для хранения символов Оригинал: pointer to the character string to store the characters to Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
count | — | Размер символьной строки, на которую указывает s Оригинал: size of character string pointed to by s Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
delim | — | символ-разделитель, чтобы остановить добычу на. Это не извлекаются и не хранится . Оригинал: delimiting character to stop the extraction at. It is not extracted and not stored. Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
strbuf | — | Поток буфер для чтения содержимого Оригинал: stream buffer to read the content to Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править]Возвращаемое значение
1)извлеченный символ или Traits::eof()
Оригинал:
the extracted character or Traits::eof()
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2-6) *this
[править]Пример
Запустить этот код
#include <sstream>#include <iostream>int main(){std::istringstream s1("Hello, world.");char c1 = s1.get();// reads 'H'std::cout<<"after reading "<< c1 <<", gcount() == "<< s1.gcount()<<'\n';char c2; s1.get(c2);// reads 'e'char str[5]; s1.get(str, 5);// reads "llo,"std::cout<<"after reading "<< str <<", gcount() == "<< s1.gcount()<<'\n';std::cout<< c1 << c2 << str; s1.get(*std::cout.rdbuf());// reads the rest, not including '\n'std::cout<<"\nAfter the last get(), gcount() == "<< s1.gcount()<<'\n';}
Вывод:
after reading H, gcount() == 1 after reading llo,, gcount() == 4 Hello, world. After the last get(), gcount() == 7
[править]См. также
извлекает блоки символов Оригинал: extracts blocks of characters Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
извлекает форматированные данные из потока ввода std::basic_istream (public функция-элемент) | |
извлекает форматированные данные из потока ввода std::basic_istream (шаблон функции) |