Conversão de arquivos texto entre Windows e Linux
Publicado por Perfil removido (última atualização em 06/05/2010)
[ Hits: 9.990 ]
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);
}
Números de caracteres em arquivo
Barra de progresso em forma de “roda”
Nenhum comentário foi encontrado.
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Após todos esses anos... youtube! (1)
archlinux resolução abaixou após atualização [RESOLVIDO] (19)
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









