Ponteiros
Publicado por Enzo de Brito Ferber 15/09/2006
[ Hits: 4.947 ]
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; }
Programa para demonstrar operadores
Shadow Mapping utilizando OpenGL e Cg
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
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
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)