[c] erro

Ruanes

Power Member
Oi, estou a tentar fazer um programa de (uma especie) cifragem e decifragem

o problema é que o compilador nao dá erros mas o certo é que os há.

O que eu quero que o programa faça é o seguinte:

O usuario escreve o nome do programa + um parametro (-c para cifrar e -d para decifrar) + o nome do ficheiro.
depois o programa cria um ficheiro onde será inserido o outro ficheiro (de)cifrado.

aqui vai o codigo que tenho quase a certeza que é onde esta o erro(s).
Código:
for (i=0;i<pos;i++)
  nameof[i]=argv[2][i];
 strcat(nome,nameof);
 if (stricmp(argv[1],CIFRA)==0)
  strcat(nome," CODIFICADO");
 else if (stricmp(argv[1],DECIFRA)==0)
  strcat(nome," DESCODIFICADO");
 strcat(nome,".");
 strcat(nome,extensao);
 //Cria o ficheiro paralelo
 if ((pa=fopen(nome,"wb"))==0)
 {
 printf("Erro");
 exit(8);
 }
 //inicio do processo de cifragem
 if (stricmp(argv[1],CIFRA)==0)
  //Enquanto nao chegar ao fim...
  while ((ch=fgetc(fp))!=EOF)
   //Compara o caractere com os da lista...
   for (i=0;i<256;i++)
    //Se for igual...
    if (ncode[i]==ch)
     //Coloca o caractere correspondente á lista codificada
     fputc(code[i],pa);
 else
  while ((ch=fgetc(fp))!=EOF)
   for (i=0;i<256;i++)
    if (code[i]==ch)
     fputc(ncode[i],pa);
 printf("Completo");
 fclose(fp);
 fclose(pa);
}

o problema é que o ficheiro nao é criado.
 
Última edição:
Back
Topo