Ponteiros
Publicado por Enzo de Brito Ferber 15/09/2006
[ Hits: 4.949 ]
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;
}
Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula
Nenhum comentário foi encontrado.
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
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









