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).
o problema é que o ficheiro nao é criado.
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: