Ponteiros

Publicado por Enzo de Brito Ferber 15/09/2006

[ Hits: 4.773 ]

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

Ponteiros

Múltiplos de bit e byte

SIV - Simple Image Visualizer

Menu com teclas direcionais

Matriz Bidimensional


  

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