• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

par4n00b

[C] Ajuda: Array de Strings

6 mensagens neste tópico

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas o problema é que está a dar-me erro quando tento criar esse array de estruturas dentro de outra estrutura..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho que o que ele quer é mais

char nome[50][50].

Cria um array de 50 elementos de strings.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora