Ponteiros
Publicado por Enzo de Brito Ferber 15/09/2006
[ Hits: 4.969 ]
Homepage: http://www.maximasonorizacao.com.br
Operações com strings com alto uso de ponteiros. De quebrar uma função tipo a strncmp. :-) Altamente recomendado para quem está aprendendo ponteiros.
/*
* Programa: Operações com strings
* Arquivo: strings.c
* Autor: Enzo Ferber 'Slackware_10'
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int check(char *str, char *part){
int i;
char *aux;
while(*str){
aux = str;
*str++;
if(!(cmp(aux, part,strlen(part)))){
i=1;
break;
}else
i=0;
}
return i;
}
int cmp(char *str1, char *str2, int len){
int i = len;
int res;
for(i=0;i<len;i++){
if(*(str1+i) == *(str2+i)) continue;
else return 1;
}
return 0;
}
char *makeLower(char *str){
int i;
for(i=0;i<strlen(str);i++) str[i] = tolower(str[i]);
return str;
}
int main(void){
char *str1;
char *str2;
char op;
str1 = (char *)malloc(50*sizeof(char));
str2 = (char *)malloc(50*sizeof(char));
if(!str1 || !str2){
printf("- Erro ao alocar memoria\n");
exit(1);
}
printf("String1: "); __fpurge(stdin); scanf("%[^\n]", str1);
printf("String2: "); __fpurge(stdin); scanf("%[^\n]", str2);
__fpurge(stdin);
printf("Diferenciar Maiusculas/Minusculas [s/n]: "); scanf("%c", &op);
switch(op){
case 'n':
str1 = makeLower(str1);
str2 = makeLower(str2);
break;
case 's':
break;
}
switch(check(str1, str2)){
case 1:
printf("String1 contem String2\n");
break;
case 0:
printf("String1 nao contem String2\n");
break;
}
free(str1);
free(str2);
return 0;
}
Boletim Escolar Com Manipulação de Arquivo
Teste de desempenho com números primos em C
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









