StrLen e StrCat
Publicado por Alexandra Silva (última atualização em 05/12/2012)
[ Hits: 5.825 ]
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");
}
lnx.c (programa em C, simples)
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









