# include
3
Declare a função inversa da seguinte forma:
reverso void ( char * txt, char * newTxt ) {
Esta função lê a seqüência de caracteres a partir de o endereço de memória armazenado em " txt" , em seguida, copia-o na ordem inversa à memória apontada por " newTxt . " A função assume que a memória suficiente foi alocado para a nova cadeia
4
Criar um ponteiro de caracteres "c" da seguinte forma: .
Char * c = txt + strlen (txt) ;
O ponteiro caractere " * c " não é nada mais do que um lugar para armazenar um endereço de memória . Inicializar ele , recuperando o endereço em " txt ", em seguida, adicione o comprimento da seqüência de texto
5
Copie o texto usando o seguinte ", enquanto" loop: .
While ( c > txt) {
c - ;
* newTxt = * c ;
newTxt + +; }
Mova o "C" ponteiro de volta um personagem ( ele foi inicializado um caractere após o final da seqüência de texto ) . Depois de ter o último caractere , copie-o para o primeiro caractere da nova string como apontado por " newTxt ". Avança o " newTxt " ponteiro para a frente um personagem. O segundo tempo, através , copie o caráter próxima -para-o - último dos " txt" string para o segundo personagem da string " newTxt " . Isso continua até que você voltar para o início
6
Adicione um zero à direita para a string " newTxt " e terminar a função
* newTxt = 0; . .
}
C + +, todas as cadeias de texto termina com um zero binário
7
Adicione o código para testar a função da seguinte forma: .
int _tmain ( int argc , _TCHAR * argv [ ] ) {
char * txt = " Oitenta e sete anos atrás ...";
char * newTxt ;
newTxt = (char * ) malloc ( strlen (txt) +1) ;
reverter (txt , newTxt );
printf ( "% s \\ n", newTxt );
livre ( newTxt );
return 0; }
as variáveis são nomeadas da mesma forma na função para evitar confusão. A função " malloc " aloca memória para a string " newTxt " , então a função é chamada. Em seguida, imprimir a nova cadeia para o console, em seguida, liberar a memória alocada por " malloc ".
Para testar o programa no Visual Studio, pressione F5.