Jump to content

ajuda para quem precisar


iniciante
 Share

Recommended Posts

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

RC

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.