Ponteiros

Publicado por Enzo de Brito Ferber 15/09/2006

[ Hits: 5.045 ]

Homepage: http://www.maximasonorizacao.com.br

Download strings.c




Operações com strings com alto uso de ponteiros. De quebrar uma função tipo a strncmp. :-) Altamente recomendado para quem está aprendendo ponteiros.

  



Esconder código-fonte

/*
 * 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;
}

           

Scripts recomendados

Teoria do Caos - (Equação Logística)

Gerando uma "number list" de 6 digitos

Programa que Exibe centro da tela

Gerador de Senhas

Comando strncmp


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts