C ++ operações String String no padrão C ++ Biblioteca Simplificado - Parte 3 Introdução Esta é a parte 3 da minha série, String em C ++ padrão biblioteca Simplificado. Nesta parte da série, vamos olhar para as operações String C ++. Nota: Se você não pode ver o código ou se você acha que alguma coisa está faltando (link quebrado, imagem ausente), apenas contacte-me em [email protected]. Ou seja, contacte-me para o menor problema que você tem sobre o que você está lendo.
Retornando uma String núcleo com índice constante Você pode instanciar um objeto string de uma classe string. O literal deste objeto seqüência de caracteres pode ser copiado para um ponteiro const char *, fazendo com que o conteúdo (valores) copiados, constante. A função de membro corda, c_str () é usado. Com esta função o caractere de terminação nulo também é copiado. O código a seguir ilustra isso: #include #include using namespace std; int main () {string Str0 = "Sim, eu sou o único."; const char * ptrChar = str0.
c_str (); cout retornar 0; } O lado direito na segunda declaração na principal faz a cópia utilizando a função de membro c_str (). Note o uso do operador ponto entre o Str0 seqüência objeto e chamar a função. O lado esquerdo declara uma matriz de caracteres com valores constantes, usando a notação de ponteiro. Nota: uma matriz cujos valores são constantes é um tipo especial de matriz; , não é a disposição convencional, em que é o ponteiro que é constante. Nota: na segunda instrução no principal ou em uma declaração semelhante ao tamanho da matriz, ptrChar, é, str0.size () + 1.
A função de membro corda, tamanho () dá-lhe o tamanho da string literal sem incluir o caractere de terminação nulo. Desde ptrChar é apenas uma matriz de caracteres e não realmente uma seqüência instanciado da classe string, o seu tamanho da matriz tem de incluir o caractere de terminação nulo, o que foi copiado para a matriz. Nota: O conteúdo de caracteres de um objeto string não é constante. Posição do Sub-string em uma String Você pode encontrar a posição de um sub-string em uma string principal. Você usa a função localizar. O valor da posição retornado pode ser atribuído a um int.
Leia e tente o seguinte código: #include #include using namespace std; int main () {string Str0 = "Sim, eu sou o único."; int pos = str0.find ("sou o"); cout retornar 0; } Nesse código a seqüência principal é "Sim, eu sou o único." eo sub-string é "sou o". O valor da posição retornada é 6, que é o início da cadeia s