Ponteiros

Publicado por Enzo de Brito Ferber 15/09/2006

[ Hits: 4.813 ]

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

Matrizes esparsas, produto por escalar e produto por um vetor

Jogo para adivinhar o numero

Rotinas para manipulação de matrizes

Exibe quantos números perfeitos foram digitados

[C] Decompositor de números em fatores primos


  

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