Como manipular cordas com personagem em c ++

A ordem

é uma sequência de variáveis ​​em C ++ que partilha o mesmo nome e que é referenciado usando um índice. Os seguintes Concatenar Programa de Insumos duas cordas a partir do teclado e concatena-los em uma única seqüência:

Video: Vídeo aula de C++ - Manipulação de arquivos: resolução de exercícios 2

// Concatenate - concatenar duas strings // com um " - " no meio # incluem #incluir #incluir using namespace std - // protótipo declarationsvoid concatString (char szTarget [], char const szSource []) - int main (int nNumberofArgs, char * pszArgs []) {// leia primeira corda ... szString1 char [256] -cout lt; lt; "Digite string # 1:"-cin.getline (szString1, 128) - // ... agora a segunda corda ... Char szString2 [128] -cout lt; lt; "Digite seqüência # 2:"-cin.getline (szString2, 128) - // ... concatenar uma " - " para o primeiro ... concatString (szString1, " - ") - // ... agora adicionar a segunda corda ... concatString (szString1, szString2) - // ... e exibir o resultcout lt; lt; "n" lt; lt; szString1 lt; lt; endl - // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, `n`) - cin.get () - retorno 0 -} // concatString - concatenar a cadeia szSource // na extremidade do szTarget stringvoid concatString (char szTarget [], const char szSource []) {// encontrar a extremidade da primeira stringint targetIndex = 0-tempo (szTarget [targetIndex]) {targetIndex ++ - //} a aderência da segunda para a extremidade do firstint sourceIndex = 0-tempo (szSource [sourceIndex]) {szTarget [targetIndex] = szSource [sourceIndex] -targetIndex ++ - ++ sourceIndex -} // aderência na terminação nullszTarget [targetIndex] = `` -}

o Concatenar programa lê duas cadeias de caracteres e acrescenta-los juntamente com um ”-“ no meio.

O programa começa por ler uma string a partir do teclado. O programa não usa o normal, cin gt; gt; szString1 por duas razões. Primeiro, o cin gt; gt; operação pára leitura quando qualquer tipo de espaço em branco é encontrado. Caracteres até o primeiro espaço em branco são lidas, o espaço em branco é lançada, e os caracteres restantes são deixados no alimentador de entrada para a próxima cin gt; gt; declaração.

Assim, se você fosse para introduzir “o cão”, szString2 seria preenchido com “a” e a palavra “cão” seria deixado no buffer de entrada.



A segunda razão é que o Obter linha() permite que o programador para especificar o tamanho da memória intermédia. A chamada para getline (szString2, 128) não vai ler mais de 128 bytes, não importa quantas sejam introduzidas.

Em vez disso, a chamada para Obter linha() Entradas toda uma linha até, mas não incluindo a nova linha no final.

Video: Estruturas de Dados - Arquivos Binários - Leitura e Gravação

Depois de ler a primeira string em szString1 [], o programa anexa ”-“ na extremidade chamando concatString (). Ele concatena a segunda corda chamando concatString () com szString2 [].

o concatString () função aceita uma string alvo, szTarget, e uma cadeia de origem, szSource. A função começa por digitalização szTarget para o caractere nulo de terminação, que ele armazena em targetIndex. A função, em seguida, entra num segundo circuito no qual ele copia caracteres do szSource para dentro szTarget começando no nulo de terminação. A declaração final em concatString () bate um nulo de terminação na corda concluída.

Video: Curso de Programação em C/C++ - Aula 12 - Desafio Jogo da Forca

Um exemplo saída do programa aparece da seguinte forma:

Digite string # 1:isto é uma stringDigite seqüência # 2:Esta é uma stringesta é uma string - ESTE É UM STRINGPress Enter para continuar ...

Publicações relacionadas