par4n00b Posted January 7, 2007 at 11:59 PM Report #75114 Posted January 7, 2007 at 11:59 PM Boas! Como é que posso ter um array fixo de strings? Sem ter que alocar memória? O que pretendo é que dentro de uma estrutura possa ter um array para strings, e à medida que recebo uma string a ir guardando lá, mas sem alocar memória.. Estava a pensar em criar uma estrutura que contivesse apenas um char nome[256] e depois noutra estrutura criar um array da estrutura anterior, mas não estou a conseguir.. Como é que posso dar a volta a isto?
Hipnoted Posted January 8, 2007 at 12:13 AM Report #75116 Posted January 8, 2007 at 12:13 AM Dentro dessa estrutura podes ter esse array e uma variável que te diga o tamanho ocupado no array nesse momento. à medida que vai inserindo strings lá dentro vais incrementando a posição pella qual a string deve começar a ser escrita. Acho que esta é a melhor maneira... "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
par4n00b Posted January 8, 2007 at 12:25 AM Author Report #75119 Posted January 8, 2007 at 12:25 AM Mas o problema é que está a dar-me erro quando tento criar esse array de estruturas dentro de outra estrutura..
Hipnoted Posted January 8, 2007 at 12:32 AM Report #75121 Posted January 8, 2007 at 12:32 AM Já percebi o que queres. Deve ser algo do género: struct strings { char nome[50]; }; struct arrayStrings { struct strings str; }array[50]; agora tens uma estrutura que te guarda 50 strings (foi o tamanho que defini, que é o número de posições). Para inserir lá algo é da seguinte maneira: //aqui eventual código... int i=0; //aqui eventual código... scanf("%s", buffer); strcpy(array[i].str.nome,buffer); i++; //aqui eventual código... Isto é apenas um exemplo. Não testei mas acho que é disto que estás a falar "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
Warrior Posted January 8, 2007 at 06:29 PM Report #75215 Posted January 8, 2007 at 06:29 PM Eu acho que o que ele quer é mais char nome[50][50]. Cria um array de 50 elementos de strings.
par4n00b Posted January 15, 2007 at 01:18 PM Author Report #76397 Posted January 15, 2007 at 01:18 PM Eu de inicio estava a definir o array como char array[num]. So que por alguma razao estava a dar mal. O problema é que eu estou a usar o modulo FUSE para implementar um sistema de ficheiros, e de vez em quando ele faz-se de dificil...nada que carregar o modulo novamente nao resolvesse 👍
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