Jump to content

array bidimensional de strings


Gois
 Share

Recommended Posts

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

🙂

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

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.