iniciante Posted October 9, 2009 at 10:20 PM Report Share #290984 Posted October 9, 2009 at 10:20 PM 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 More sharing options...
pedrosorio Posted October 10, 2009 at 04:04 PM Report Share #291048 Posted October 10, 2009 at 04:04 PM 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" Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now