Jump to content
Sign in to follow this  
AprendizZ

Separar informação em dois arrays

Recommended Posts

AprendizZ

Boa noite,

Estou tentando pegar num"ficheiro" contendo a seguinte lista de strings:

jsocr
ppcoel
pportas
flouca
jsousa
*
jsocra
jsosa
lmportas
acavaco
mportas

em dois arrays, em que a string de separação é o asterisco.

Já dei voltas ao código:

	char temp[MAX_LEN];
int asterisco = 0;
n_users = 0;
n_cands = 0;
while (fgets (temp,MAX_LEN,stdin) != NULL)
{
	if (temp == '*')
		asterisco = 1;
	if (asterisco == 0)
	{
		users[n_users] = temp;
		n_users++;
	}
	if (asterisco == 1)
	{
		cands[n_cands] = temp;
		n_cands++;
	}
}

mas não consigo o que pretendo.

Deve estar a faltar algo, mas não sei o quê.

Agradeço toda a ajuda.

Share this post


Link to post
Share on other sites
AprendizZ

Obrigado Baderous.

Passou-me completamente o uso de strcmp e strcpy. Já resolveu.

Mas deixo outra questão: o fgets coloca algum caracter por defeito no primeiro elemento

do array?

É que agora que está tudo a correr bem, no resultado final aparece um caracter  X como

primeiro elemento do primeiro array, quando deveria aparacer o primeiro elemento do

"ficheiro", ou seja "jsocr"

Estou baralhado... :dontgetit:

Share this post


Link to post
Share on other sites
Localhost

Eu não percebi muito bem este teu último post mas eu fazia assim:

char n_users[MAX_USERS][MAX_LEN], n_cands[MAX_CANDS][MAX_LEN], aux[MAX_LEN];
int i = 0, k = 0, flag = 0;

while (fgets (aux, MAX_LEN, stdin) != NULL)
{
    if (strcmp (aux, "*") == 0)
    {
        flag = 1;
        continue;
    }

    strcpy (flag > 0 ? n_cands[k++]: n_users[i++], aux); 
}

Atenção que não testei o código mas penso que assim já funcionava.


here since 2009

Share this post


Link to post
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
Sign in to follow this  

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