Ponteiros
Publicado por Enzo de Brito Ferber 15/09/2006
[ Hits: 4.813 ]
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; }
Matrizes esparsas, produto por escalar e produto por um vetor
Rotinas para manipulação de matrizes
Exibe quantos números perfeitos foram digitados
[C] Decompositor de números em fatores primos
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Linux Mint limitando rede a 20Mbps (2)
IRPF 2025 não consegue entregar a declaração (4)
Sistema antigo, servidor novo e não funciona (0)