Conversão de arquivos texto entre Windows e Linux
Publicado por Ewerton Daniel de Lima (última atualização em 06/05/2010)
[ Hits: 9.528 ]
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); }
leitura/escrita de dados/estruturas em arquivo
Compactando arquivos de log *.txt
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
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
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
pacotes 32 bit no void 64 bit (1)
erro ao clonar repo github (7)
ASRock H310CM-HG4 vs Linux (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (26)
[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