[C++] Resumo do uso de strings

No processo de escovar as questões, o autor descobriu que algumas gramáticas são fáceis de esquecer, então esta série de notas para escovar as questões quer registrar algumas gramáticas comuns para fácil revisão e consolidação. O conteúdo desta série é atualizado de forma síncrona de acordo com o andamento das questões.

1. Corda

1. Arquivo de cabeçalho

#include <string>

2. Criação e inicialização de string

string str;//定义字符串变量
string str1 = "hello";//定义字符串变量同时赋初值
str = str1;//把str1复制给str
string str2(3, 'a');//创建一个包含n个元素的字符串,每个元素初始化为指定元素,输出结果为“aaa”
string str3("value");//定义字符串变量同时赋初值
string str4(str3);//把str3赋值给str4

3. Operações de leitura e gravação de strings

(1) Use cin para ler o valor inserido pelo teclado

O objeto string irá ignorar automaticamente os espaços em branco no início (ambos os espaços, novas linhas, tabulações, etc.)

string str;//定义字符串变量
cin >> str; //使用cin对字符串进行赋值
cout << str << endl;//使用cout输出字符串

(2) Use getline() para ler a linha

O formato da função de getline: getline(cin, string object)
A função de getline é ler uma linha inteira e parar de ler até encontrar um caractere de nova linha, durante o qual ele pode ler caracteres em branco, como espaços e tabulações.

string str1;
getline(cin, str1);//读取一行为str1赋值
cout << str1 << endl;

Observação: a função getline, como cin, também retornará seu parâmetro de fluxo, que é cin, portanto, você pode usar getline para ler uma linha em um loop.

string str1;
while(getline(cin, str1))//循环读取一行为str1赋值
	cout << str1 << endl;

4. Operação de concatenação de strings

Concatena a string str2 ao final da string str1. C++ é compatível com a função strcat() da linguagem C.

string str1 = "Hello";
string str2 = "world";
strcat(str1,str2);//C语言中使用strcat()对字符串进行拼接
str2=str1+str2;//C++中使用“+”号对字符串进行拼接
str2+=str1;相当于str2 = str2 + str1
str1.append(str2);//把str2加到str1后面

Ao adicionar objetos de string e caracteres ou literais de string, você deve garantir que os operandos em ambos os lados do sinal + tenham pelo menos uma string.

string str3 = str1 + ','+ str2+ '\n';//string对象与字符相加

5. Operações de comparação de strings

As strings podem ser comparadas usando operadores de comparação, compare() ou a função strcmp(s1, s2) na linguagem C. Strings não são iguais enquanto houver um caractere desigual ou mais um caractere em uma determinada string.

(1) Operadores de comparação (>, <, ==)

if(str1 > str2)
	cout << str1 << "大于" << endl;
else if(str1 < str2)
	cout << str1 << "小于" << endl;
else
	cout << str1 << "等于" << endl;

(2) compare()

A função de membro compare() no objeto string pode comparar strings.

Se str=a string especificada, str.compare() retorna 0
Se str> a string especificada, str.compare() retorna um número positivo
Se str<string especificada, str.compare() retorna um número negativo

int ret = str1.compare(str2);//比较str1和str2

(3) strcmp(str1,str2)

A função strcmp(str1, str2) compara duas strings de acordo com o valor do código ASCII; a função strcmp(str1, str2) primeiro subtrai o valor do primeiro caractere da string str1 do primeiro caractere de str2, se a diferença for for zero, continue a comparação; se a diferença não for zero, retorne a diferença.

Se str1 e sttr2 forem iguais, retorna 0;
se str1<str2, retorna valor menor que 0
; se str1>str2, retorna valor maior que 0

int ret = strcmp(str1, str2);

6. Obtenha o comprimento da string

Para objetos string, str.length() e str.size() são sinônimos e retornam o comprimento dos caracteres na string, excluindo '/0'.
Além disso, a função size() também pode obter o comprimento do tipo de vetor.

int len1 = str.size();//获取字符串的长度
int len2 = str.length();//获取字符串的长度

7. Obtenha a substring

string s = str.substr(n,m);//从str的第n个字符开始取m个字符

8. Obtenha um caractere em uma string

char ch1 = str[n];//获取字符串str中的第n个字符
char ch2 = str.at(n);//获取字符串str中的第n个字符

Acho que você gosta

Origin blog.csdn.net/weixin_44842318/article/details/127062486
Recomendado
Clasificación