Guest Lizandra Postado Maio 14, 2006 Denunciar Share Postado Maio 14, 2006 Oie!!Eu to com uma duvida, eu to aprendendo c ainda, e aindaestou fazendo softwares de terminal, então tenho que fazerum programa que mostre o conteudo de um texto, exemplose eu digito:./leitor arquivo.txtele ira mostra o conteudo do arquivo.txto problema é quando eu não digito arquivonenhum, ou, o arquivo não existe, eleda um core dumped, então preciso de uma funçãoque verifique se o arquivo existe. Abaixo, o codigodo meu programa: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *arq; char lin[500]; arq = fopen(argv[1], "r"); while( fgets(lin, 500, arq) != NULL) { fputs(lin, stdout); } fclose(arq); return 0; } obrigada!!beijos!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 14, 2006 Denunciar Share Postado Maio 14, 2006 Olhe se arq é diferente de NULL ou 0 antes de tentar ler as linhas.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FibraOptica Postado Maio 14, 2006 Denunciar Share Postado Maio 14, 2006 Aí o código completo seria: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE *arq; char lin[500]; /* se não for chamado no mínimo 2 argumentos na linha de comando, mostra a msg */ if( argc < 2 ) { printf("[uso] %s <arquivo>\n",argv[0]); return 1; } arq = fopen(argv[1], "r"); /* se o arquivo não existir, fopen() retorna NULL. */ if( arq == NULL ) { printf("Impossivel abrir arquivo `%s`!\n",argv[1]); return 1; } while( fgets(lin, 500, arq) != NULL) { fputs(lin, stdout); } fclose(arq); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Maio 14, 2006 Denunciar Share Postado Maio 14, 2006 aii!!!muito obrigadafuncionou, vocês salvaram o meu final de semanabjao!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Lizandra
Oie!!
Eu to com uma duvida, eu to aprendendo c ainda, e ainda
estou fazendo softwares de terminal, então tenho que fazer
um programa que mostre o conteudo de um texto, exemplo
se eu digito:
./leitor arquivo.txt
ele ira mostra o conteudo do arquivo.txt
o problema é quando eu não digito arquivo
nenhum, ou, o arquivo não existe, ele
da um core dumped, então preciso de uma função
que verifique se o arquivo existe. Abaixo, o codigo
do meu programa:
obrigada!!
beijos!!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.