Fiz assim, mais ainda não consegui rodar e não encontro o erro. Conseguem me auxiliar?
#include<stdio.h>
#include<conio.h>
#include<locale.h>
void invert(FILE* Arquivo) // Conversao INVERT
{
char c;
do{
c = getc(Arquivo);
printf("%c", c!='\n' ? 0x100-c : c); // Inverte o char
}while(c!=EOF);
printf("\nEOF");
return;
}
void cript(FILE* Arquivo, char Chave[]) // Conversao CRIPT
{
char c;
do{
c = getc(Arquivo);
printf("%c", c);
}while(c!=EOF);
printf("\nEOF");
return;
}
void u2d(FILE* Arquivo) // Conversao UNIX to DOS
{
char c;
do{
c = getc(Arquivo);
printf("%c", c==0x0A ? 0x0D : c);
}while(c!=EOF);
printf("\nEOF");
return;
}
void d2u(FILE* Arquivo) // Conversao DOS to UNIX
{
char c;
do{
c = getc(Arquivo);
printf("%c", c);
}while(c!=EOF);
printf("\nEOF");
return;
}
int main()
{
char Nome, Tipo, Chave[8]; //chave que vai dizer qual conversao sera usada / se C, Chav é a Senha
FILE *Arquivo; // Declara o ARQUIVO
printf("\n\tFORMARQ <dados.DAT> [I][C][D][U]\n\nI: Conversao Invert.\nC: Conversao Cript. [escrever chave]\nD: Conversao UNIX to DOS.\nU: Conversao DOS to UNIX.\n");
Arquivo = fopen("DADOS.dat", "r"); // Abre ARQUIVO
scanf("%c", &Tipo); // Recebe a conversao
if(Tipo=='c') scanf(" %s", &Chave); // Recebe a Chave, se a conversao for Cript
switch(Tipo){ // Define, partindo da letra, qual conversao sera¡ usada
case'i': invert(Arquivo); break;
case'c': cript(Arquivo, Chave); break;
case'd': u2d(Arquivo); break;
case'u': d2u(Arquivo); break;
default: printf("O arquivo de entrada não existe.");
}
fclose(Arquivo);
getch();
return 0;
}