• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

iniciante

ajuda para quem precisar

2 mensagens neste tópico

bem aqui vai o codigo de uma duvida que eu tive que pedi ajuda aqui no forum onde n tive grandes respostas..mas se alguem vier a precisar aqui esta um pequeno codigo que trabalha com strings

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#define BUFSIZE 512

int string_size(char *str)
{
   int i = strlen(str);                  
   return i; 
}

int string_compare(char *s1, char *s2)
{
    if (strcmp(s1,s2)==0)
    {
    	printf("Strings iguais\n");     
    	return 0;
    }
    else
    { 
    	printf("Strings diferentes\n");
    	return 1;
    }
}


char *string_copy(char *dest, char *source)
{
     if (strlen(source)>strlen(dest)) 
     {
     	  printf("Sem espaço para a copia\n");
  _exit(1);  /*se não houver espaço o programa acaba aqui porque                                                                        a string ultrapassa o BUFSIZE*/ 
}
     else strcpy(dest,source); 
     return dest;
}

char *string_append(char *dest, char *source)
{
     strcat(dest,source);
     return dest;
}

main(int argc, char *argv[])
{
   char *str1, *str2;
   int size1, size2;
   char buffer[bUFSIZE];
   int equal, size;

  if (argc != 3)
   {
      fprintf(stderr, "Usage %s <string1> <string2>\n", argv[0]);
      _exit(1);
   }



   str1 = argv[1];              
   str2 = argv[2];              
  
   // Calcular o comprimento de cada string
   size1 = string_size(str1);
   size2 = string_size(str2); 
   printf("String 1: %s %d String 2: %s %d\n", str1, size1, str2, size2);
   

   // Comparar as duas strings e indicar se são iguais ou diferentes
   equal = string_compare(str1, str2);
  
   // Copiar a primeira string para um novo buffer testando primeiro se ha espaco para a copia
   string_copy(buffer, str1);

   // Juntar a segunda string ao final da primeira 
   string_append(buffer, str2);
   size = string_size(buffer);

    
// Imprimir a string resultante e o seu tamanho  testando primeiro se ha espaco para a copia
    printf("String resultante: %s %d\n", buffer, size);
    
    return 0;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Convém alterares o nome do tópico para algo que explique o que o código faz, e pedires a um moderador para o mover para a secção "Armazém de Código"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora