Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fo_11

OBTER conteudo apartir da linha de comandos (arg e *argv[])

Mensagens Recomendadas

fo_11

Não estou a conseguir abrir o ficheiro, o sua denominação é inserida através da linha de comandos.

int main(int arg,char *argv[])
{
    FILE *fp_1,*fp_2;
    char ch;
    

    if((fp_1=fopen(argv[1],"r"))==NULL);//EStá sempre a devolver NULL
     printf("!!!ERROR!!!\n    Such file does not exist");

     fp_2=fopen("copia.txt","w");
     
     while((ch=fgetc(fp_1))!=EOF)
      fputc(ch,fp_2);
}
    

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Não sei se podes colocar expressões desse tipo dentro de um if.

Tenta primeiro atribuir ao ponteiro o retorno da fopen e depois fazes algo como isto:

if(!fp_1) {
// código
}


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Tens a certeza de que o ficheiro existe e que o path está correcto? Se sim e se estiveres a pôr um path e ainda se estiveres em windows tenta fazer assim:

C:\\Blah\\Desktop em vez de C:\blah\desktop


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fo_11

Sim está bem porque o ficheiro está no mesmo local que o programa e se o programa arranca logo a path tem de estar bem.

EDIT:não deu resultado.

Aqui o que está na linha de comandos:

C:\Users\Filipe\Desktop\UBI\1ano_2semestre\Programacao e Algoritmos\Pedro_coimbr

a\Resolucao\Questões>ficha_6.1_a a.txt

!!!ERROR!!!

    Such file does not exist

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.