Conversão de arquivos texto entre Windows e Linux
Publicado por Perfil removido (última atualização em 06/05/2010)
[ Hits: 9.934 ]
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);
}
Copia uma linha selecionada para um arquivo secundário
ListDir - Um listador de diretórios
Exemplo de manipulação de arquivos
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









