Ir ao conteúdo

Ajuda em C


andexls

Posts recomendados

Postado

Eu comecei faz 2 dias o curso de C da UFMG, que baixei no Apostilando...

Estou na parte de ponteiros, e pede-se para criar funções iguais a strlen() (que da o tamanho da string) e strcat() (que concatena strings)...

A strlen() já consegui fazer, mas na strcat, não consigo. Aqui vai meu codigo da strcat, com os erros marcados e explicados depois:


void StrCat (char *string1, char *string2)
     {
     int count1 = 0, count2 = 0;
     while (*string1 != '\0')
           {
           count1++;
           string1++;
           }
     while (*string2 != '\0')
           {
           count2++;
           string2++;
           }
     string2 = 0;
     int loop = 1;
     string1 = count1;     /* [b]ERRO 1[/b] */
     while (loop){
     *string1 = *string2;
     string1++;
     string2++;
     if (string1 == (count1+count2+1))     /* [b]ERRO 2[/b] */
                 {
     loop = 0;
                 }
     *string1 = '\0';
              }
}

ERRO 1 - Ai eu to tentando fazer o ponteiro apontar para o ultimo caractere da string. Mas o programa da um erro de 'assignment makes pointer from integer without a cast '. O que eu fiz de errado?

/ERRO 2 - Ai eu quero que quando chegue no ultimo char da string final (count1+count2+1), interrompa o loop while. Por fim adicionar um \0 no ultimo char. O computador acha o erro: comparison between pointer and integer. Porque esta errado?

Postado

IGNOREM ESSE POST!

Resolvi refazer a funcao desde o 0 e consegui. B) Aqui está como ficou:


void StrCat (char *destino, char *origem){
     while (*destino){
           destino++;
           }
     while (*origem){
     *destino = *origem;
     destino++;
     origem++;
     }
     *destino = '\0';
     }

Muito mais simples não? :blink:

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!