Conversão de arquivos texto entre Windows e Linux
Publicado por Ewerton Daniel de Lima (última atualização em 06/05/2010)
[ Hits: 9.525 ]
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); }
Compactando arquivos de log *.txt
Números de caracteres em arquivo
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Failed to start Zabbix Server (1)
Ubuntu — tentando iniciar o windows? (2)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba