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

JPVieira

Ler uma linha

9 mensagens neste tópico

Existe alguma função que permita ler apenas a primeira linha de um ficheiro ?

Eu tenho um ficheiro txt por exemplo:

5

1 2 3 4 5

Quero carregar do ficheiro e armazenar numa variável apenas o valor que está na primeira linha(neste caso o 5).

o fscanf caso nao teja nada naquele lugar vai carregar o 1... e eu quero que nesse caso não carregue nada...

Existe alguma funçao que apenas leia naquela linha?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
char linha[200];
fp1 = fopen("ficheiro1.txt","r");
    
fgets(linha,200,fp1);

fclose(fp1);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fgets lê uma linha, mas a menos que a primeira linha na falta de um numero possua um \n de qualquer forma, ele vai ler o 1.

Podes é verificar quantos números (ou espaços) possui a linha que leste.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o fgets não pode ser, porque esse numero que vai ser carregado vai ser util para depois usar em ciclos, e sendo uma string não funciona...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nesse caso podes converter essa string que contém o número para inteiro:

int numero=0;
numero = atoi(linha);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Consegui! :P

se eu tiver neste formato:

2 3

1 2 3

4 5 6

E quiser armazenar o 2 numa variavel e o 3 noutra, como faço ?

éq isso dps mete a linha toda, e eu só quero que armazene um dado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usas o sscanf para ler um valor de cada vez e depois convertes para inteiro o valor que realmente pretendes.

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