Gois Posted April 26, 2008 at 09:27 PM Report Share #181569 Posted April 26, 2008 at 09:27 PM boas, Problema: Num ficheiro txt em binario tenho 3 pessoas com as caracteristicas nome e montante. Caso das 3 pessoas, 2 tenham o nome igual, a funçao deve copiar esse nome para um array bidimensional de strings em que, o espaço para o array deve ser requisitado dinamicamente pela função e deve ter o número de linhas necessário para armazenar todos os nomes (cada linha deve ter 100 caracteres). A minha dúvida predem se exactamente em copiar a string para o array em que provavelmente teria que utilizar malloc em que as unicas vezes que utilizei foi para listas ligadas typedef struct lev cliente; struct lev{ //estrutura do usuarios de multibanco char nome[100]; int montante; }; int mais_do_que_um_lev(FILE *f, int *lev) //ficheiro passado como argumento e o endereço do numero de quantidade de levantamento para clientes que levantaram dinheiro mais que uma vez { char nomeanterior[100]; cliente banco; char str[][100]; //1º minha nova string fread(&banco, sizeof(cliente), 1, f); while(fread(&banco, sizeof(cliente), 1, f)==1) { if(strcmp(nomeanterior, banco.nome) == 1) { /*Dúvida*/ str = malloc(sizeof(char));//1º requesitar espaço para a minha nova string do tipo caracteres /*incompleto*/ } strcpy(nomeanterior, banco.nome); } } P.s- Comentarios com //1º (modificaçao depois de postar) obrigado.. Link to comment Share on other sites More sharing options...
suzy Posted April 28, 2008 at 12:12 AM Report Share #181824 Posted April 28, 2008 at 12:12 AM 🙂 aqui vai um exemplo como alocar dinamicamente aquilo que pretendes, agora e so alterar ao teu problema 🙂 #include <stdio.h> #include <stdlib.h> main() { int **mat; /* matriz representada por um vetor de ponteiros */ int i,m=2,n=2; char a[50]; mat = (int**) malloc(m* sizeof(int*)); for(i = 0; i< m; i++) { mat[i] = (int*) malloc(n*sizeof(int)); } mat[0] // para strings mat[0][0]=2; printf(" o nome e %d\n",mat[0][0]); fflush(stdin); getchar(); } 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