StrLen e StrCat
Publicado por Alexandra Silva (última atualização em 05/12/2012)
[ Hits: 5.690 ]
Homepage: alexandrasp.github.io
Um algoritmo simples, implementado em C, que procura fazer o que as funções strlen() e strcat() fazem através da utilização da biblioteca stdlib.h, sem utilização da biblioteca já pronta.
Sugestôes de melhora, críticas etc são bem vindas!
/*Nome:Alexandra da Silva Pereira Data:29/11/2012*/ #include<stdio.h> #include<stdlib.h> #define tam_string 20 char StrLenA(char palavra1[tam_string]); //prototipo de todas as funcoes utilizadas char StrLenB(char palavra2[tam_string]); char StrCat(char palavra1[tam_string], char palavra2[tam_string], int i, int j); int main() { int i, j; char palavra1[tam_string]; //declara os vetores de char, seguido do recebimento dos mesmos char palavra2[tam_string]; printf("Entre com a primeira palavra: "); gets(palavra1); printf("Entre com a segunda palavra: "); gets(palavra2); printf("\n+-----------+\n \n"); StrCat(palavra1, palavra2, StrLenB(palavra2), StrLenA(palavra1)); //chama as funcoes para contar o tamanho e concaternar "strings" return 0; } char StrLenA(char palavra1[tam_string]) /*funcao que recebe primeira palavra , conta o tamanho efetivo de caracteres dessa palavra, mostra esse tamanho e ainda o retorna para ser parametro de StrCat()*/ { int i=0; while(palavra1[i]!='{FONTE}') { i++; } printf("O tamanho da primeira string é: %d\n\n", i); printf("\n+-----------+\n\n"); return i; } char StrLenB(char palavra2[tam_string]) /*funcao que recebe segunda palavra , conta o tamanho efetivo de caracteres dessa palavra, mostra esse tamanho e ainda o retorna para ser parametro de StrCat()*/ { int i=0; while(palavra2[i]!='{FONTE}') { i++; } printf("O tamanho da segunda string é: %d\n", i); printf("\n+-----------+\n\n"); return i; } char StrCat(char palavra1[tam_string], char palavra2[tam_string], int i, int j) {//funcao para concaternar char *palavra; int count=0, k; count=i+j; palavra = (char*)malloc((count+1)*sizeof(char)); //aloca na memoria espaco para concaternar as duas "strings" recebidas //a sequencia de 2 for(s) trata de pegar as strings anteriores e realocar, o ultimo for mostra a "nova string" for(k=j; k>=0; k--) { palavra[k]=palavra1[k]; } for(k=j; k<=count; k++) { palavra[k]=palavra2[k-j]; } printf("Nova string: "); for(k=0; k<=count; k++) { printf("%c", palavra[k]); } printf("\n\n+-----------+\n\n"); }
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Erro ao atualizar o archlinux (0)
Erro ao executar o comando para dar um get email (0)
Instalei Windows 11 e não alterou o Grub do Debian (2)
Albfneto. Voltando devagar. (0)
Os empreguim de meu Deus estão cada vez mais tecnológicos (8)