Introdução à função getline

Hoje, o editor explicará a você o conhecimento relevante sobre a função getline.

Índice

一.cin.getline(char* s, streamsize n, char delim)

二.getline(istream& is, string& str, char delim)


A função getline e cin são complementares.

Comparado com cin, a vantagem de getline é que você pode inserir espaços ao inserir strings . E cin terminará automaticamente a entrada ao entrar em um espaço. Isso é muito semelhante ao scanf e obtém funções na linguagem c.

一.cin.getline(char* s, streamsize n, char delim)

O arquivo de cabeçalho necessário para esta função é <iostream>.

Pode-se entender que getline é uma função da classe cin neste momento, e o namespace em que está é std, portanto, ao inserir, deve ser escrito como std::cin.getline().

O parâmetro char* s aqui é a variável de string de entrada, n é o número de caracteres na string de entrada (o enésimo complemento '\0') , delim é a condição de terminação de entrada, ou seja, a entrada é encerrada quando o caractere representado por delim é encontrado.

Exemplo:

char str[10];

cin.getline(str, 7, 'a');

Quando inserimos sdfazsertyg, str irá armazenar sdf porque terminamos quando encontramos a por padrão.

Da mesma forma, quando bcdefghijklm é inserido, str armazenará bcdefg porque estipulamos que apenas 7 caracteres podem ser armazenados e o 7º bit é preenchido com '\0'.

Vale a pena notar que char delim pode ser omitido em uso normal , e o valor padrão da linguagem C++ é '\0'

二.getline(istream& is, string& str, char delim)

arquivo de cabeçalho: <string>

is é a função de fluxo de entrada padrão, str é o nome da variável usada para armazenar caracteres e delim é o sinal de fim, a função aqui é a mesma de cin.getline().

deve estar ciente é:

getline() é uma função do fluxo de string e só pode ser usada para operações de entrada do tipo string.

cin.getline é uma função do fluxo std, que é usado para operação de entrada do tipo char*.

Em outras palavras, quando você define uma variável do tipo string, você só pode usar getline() para inseri-la.

Quando você define uma variável do tipo char*, ela só pode ser inserida com cin/cin.getline().

A função é semelhante a cin.getline:


Não é fácil de criar, por favor apoie Sanlian se houver algum erro, por favor me corrija

Acho que você gosta

Origin blog.csdn.net/weixin_61857742/article/details/124382424
Recomendado
Clasificación