Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PernaL0nga

Problemas com strcat

Recommended Posts

Opa, valeu ! =)Mas para que serve exatamente o "&" ? Só é usado em strings?E se eu quisesse concatenar apenas um caractere?Eu consegui assim:return s1 + s2[1];Mas como inserir isso em uma outra string?Tentei assim: Palavra = s1 + s2[1];Mas não funciona...Desde já obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte: origem[2] retorna o 3º caracter desta string, e &origem[2] é o endereço para a posição de memória deste caracter. A função strcat recebe como argumento 2 ponteiros para strings terminadas com o caracter '\' e retorna um ponteiro para uma string que contém as duas strings de entrada concatenadas. No seu caso, como você queria concatenar a string 'texto' e a partir do 3º caracter da string 'origem', você colocou 'texto' diretamente, que é o mesmo que &texto[0], ou seja, o endereço para o primeiro caracter desta string.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Cara! Perfeita explicação =)

Mas como eu faria se eu quisesse concatenar apenas o segundo caractere de uma string.

Por exemplo:

string1 = abcdestring2 = qwershow -> abcdew

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a função strncat, que concatena até um valor máximo de caracteres se não encontrar um caracter 0:Protótipo:char* strncat(char* str1, const char* str2, size_t qtde);Exemplo:strncat(string1, &string2[1], 1);beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.