Nick-us
(usa Slackware)
Enviado em 09/05/2020 - 15:12h
mauricio123 escreveu:
int loop;
char temp[80], text[80];
FILE *arq;
arq = fopen ("arquivo", "r");
for(loop = 0; loop < 11; loop++){
if(loop != 2){ //lê a segunda linha.
fgets(temp, 80, arq);
}else{
fgets(text, 80, arq);
}
fclose(arq);
}
printf(" %s ", text);
o fgets faz a gravação na sequência, por isso deve funcionar, pois quando loop = 2 o texto que você quer vai pular para o else caindo na string a ser imprimida. Só adapte-o ao que você quer.
Testa aí, ta meio improvisado, mas...
há, use as bibliotecas padrão.
___________________________________
Conhecimento não se Leva para o Túmulo.
Oi Maurício, Origado por tentar ajudar, mas vc não prestou atenção a pergunta! Eu sei usar LOOPS, eu quero fazer isso sem VARRER o arquivo!
Não dá pra usar o fgets pq ele não tem opção de ler a linha específica!
for é um Loop não quero usar
while é um Loop não quero usar
Pois não quero ler LINHA a LINHA do arquivo, entendeu?
Eu quero ler SOMENTE a Linha 2 por exemplo. Então o programa não pode ter nenhum método que de alguma forma leia a linha 1 e nem nenhuma outra linha!
OBS isso não é um trabalho, meu objetivo é remover do MEU programa que usa um FOR + FGETS para ler a linha 2.
E não quero substituir o meu FOR por WHILE pq não vai diminuir a qtd de código escrito!
Porém se eu substituir o LOOP Inteiro do FOR + FGTES e etc... por apenas 1 COMANDO usando 1 LINHA que eu não sei se existe, reduzirá a qtd de linhas do meu programa!
OBS2 Não quero criar uma FUNÇÃO que faça isso também! Eu estou procurando por um método que EXISTA em C que não me obrigue a fazer um Loop. Poque se eu criar uma FUNÇÃO, eu vou AUMENTAR a qtd de linhas do Código e não diminuir que é meu objetivo!