Conversão de arquivos texto entre Windows e Linux
Publicado por Perfil removido (última atualização em 06/05/2010)
[ Hits: 10.003 ]
Programa simples que converte arquivos txt gerados no Linux para serem abertos sem conflitos no Windows e vice-versa.
#include <stdio.h>
/*
Rotina que converte arquivos texto criados no
Linux para que sejam abertos sem conflitos
no Microsoft Windows;
Recebe como parâmetros:
1. Arquivo de Origem
2. Arquivo de Destino
A função não retorna valor
*/
void linToWin(FILE *origem, FILE *destino) {
char c;
while ((c=fgetc(origem)) != EOF) {
if (c==10) {
c = 13;
fwrite(&c, 1, 1, destino);
c = 10;
fwrite(&c, 1, 1, destino);
}
else
fwrite(&c, 1, 1, destino);
}
}
/*
Rotina que converte arquivos texto criados no
Microsoft Windows para que sejam abertos sem conflitos
no Linux;
Recebe como parâmetros:
1. Arquivo de Origem
2. Arquivo de Destino
A função não retorna valor
*/
void winToLin(FILE *origem, FILE *destino) {
char c;
while ((c=fgetc(origem)) != EOF) {
if (c!=10)
fwrite(&c, 1, 1, destino);
}
}
/*
Rotina que imprime ao usuário uma pequena
ajuda a ser impressa na tela caso haja algum
erro.
*/
void help() {
printf("Uso:\n");
printf("De Windows para Linux\n");
printf("./convtxt wl arquivoOrigem arquivoDestino\n");
printf("De Linux para Windows\n");
printf("./convtxt lw arquivoOrigem arquivoDestino\n");
}
/*
Rotina principal
*/
int main(int argc, char *argv[]) {
FILE *origem, *destino;
int escolha;
if (argc!=4) {
help();
return 1;
}
if (strcmp(argv[1], "lw")==0)
escolha=2;
else if (strcmp(argv[1], "wl")==0)
escolha=1;
else {
help();
return 1;
}
origem = fopen(argv[2], "r");
if (!origem) {
printf("Não foi possível abrir o arquivo \"%s\"...\n", argv[2]);
help();
return 1;
}
destino = fopen(argv[3], "w");
if (!destino) {
printf("Não foi possível abrir o arquivo \"%s\"...\n", argv[3]);
help();
return 1;
}
if (escolha==1)
winToLin(origem, destino);
else
linToWin(origem, destino);
fclose(origem);
fclose(destino);
}
Cadastor de Produtos em C e metodos ordenação
Codigo para criar arquivo de log
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









