#include <stdio.h>#include <stdlib.h>#include <string.h>void ler(char *string[]){ /* Esta função recebe como parâmetro o caminho do arquivo de texto a ser aberto. Ela abre, lê este arquivo e retorna na mesma variável que é passada como parâmetro o conteúdo deste arquivo. Em síntese, ela converte um caminho de arquivo no conteúdo do mesmo. */ int i = 0; char caracter; char mensagem[1024]; FILE *arquivo; if((arquivo = fopen(*string,"r")) == NULL) { /*Este procedimento verifica se o arquivo passado como parâmetro existe. Caso não, encerra a aplicação aqui.*/ printf("Erro ao abrir arquivo!!!\n\n"); exit(1); }; do { /* Este procedimento faz a leitura do arquivo carácter a carácter, também gravando carácter a carácter na string mensagem o texto encontrado. */ caracter = getc(arquivo); putchar(caracter); mensagem[i] = caracter; i++; } while(caracter != EOF); strcpy(*string, mensagem); /*O conteúdo de mensagem é copiado para *string para que a variável usada para passar o parâmetro também sirva de retorno da mesma.*/ printf("\n\n"); fclose(arquivo);}void escrita(char string[], char string_[]) { FILE *fp; /*Fp será então um ponteiro para um arquivo (tipo FILE). É usando este tipo de ponteiro que vamos poder manipular arquivos no C.*/ int i; fp = fopen(string_,"w"); /*O "w" serve para abrir um arquivo texto para gravação. Se o arquivo não existir, ele será criado. Se já existir, o conteúdo anterior será destruído. Arquivo ASCII, para escrita */ /*A condição !fp testa se o arquivo foi aberto com sucesso porque no caso de um erro a função fopen() retorna um ponteiro nullo (NULL).*/ if(!fp){ printf("Erro na abertura do arquivo"); exit(0); /*A função exit() encerra a aplicação.*/ } for(i=0; string[i]; i++) putc(string[i], fp); /*Grava o arquivo, caractere a caractere*/ fclose(fp); /*Quando acabamos de usar um arquivo que abrimos, devemos fechá-lo. Para tanto usa-se a função fclose():*/}/*Rotina de conversão de texto para número*/int conv_texto(char ch){ /* Esta função nada mais faz que verificar o caracter recebido como parâmetro e retornar o numero correspondente a este carácter. */ int n; if (ch == 'A') n = 11; else if (ch == 'B') n = 12; else if (ch == 'C') n = 13; else if (ch == 'D') n = 14; else if (ch == 'E') n = 15; else if (ch == 'F') n = 16; else if (ch == 'G') n = 17; else if (ch == 'H') n = 18; else if (ch == 'I') n = 19; else if (ch == 'J') n = 20; else if (ch == 'K') n = 21; else if (ch == 'L') n = 22; else if (ch == 'M') n = 23; else if (ch == 'N') n = 24; else if (ch == 'O') n = 25; else if (ch == 'P') n = 26; else if (ch == 'Q') n = 27; else if (ch == 'R') n = 28; else if (ch == 'S') n = 29; else if (ch == 'T') n = 30; else if (ch == 'U') n = 31; else if (ch == 'V') n = 32; else if (ch == 'W') n = 33; else if (ch == 'X') n = 34; else if (ch == 'Y') n = 35; else if (ch == 'Z') n = 36; else if (ch == ' ') n = 37; else if (ch == '0') n = 38; else if (ch == '1') n = 39; else if (ch == '2') n = 40; else if (ch == '3') n = 41; else if (ch == '4') n = 42; else if (ch == '5') n = 43; else if (ch == '6') n = 44; else if (ch == '7') n = 45; else if (ch == '8') n = 46; else if (ch == '9') n = 47; else if (ch == '.') n = 48; else if (ch == ',') n = 49; else if (ch == ':') n = 50; else if (ch == 'Ç') n = 51; else printf("\nFALHA NA CONVERSÃO"); return n;}/*Rotina de conversão de número para texto*/char un_conv_texto(int n){ /* Esta função faz o contrário da anterior. Recebe um número e retorna o carácter correspondente a este número. */ char ch; if (n == 11) ch = 'A'; else if (n == 12) ch = 'B'; else if (n == 13) ch = 'C'; else if (n == 14) ch = 'D'; else if (n == 15) ch = 'E'; else if (n == 16) ch = 'F'; else if (n == 17) ch = 'G'; else if (n == 18) ch = 'H'; else if (n == 19) ch = 'I'; else if (n == 20) ch = 'J'; else if (n == 21) ch = 'K'; else if (n == 22) ch = 'L'; else if (n == 23) ch = 'M'; else if (n == 24) ch = 'N'; else if (n == 25) ch = 'O'; else if (n == 26) ch = 'P'; else if (n == 27) ch = 'Q'; else if (n == 28) ch = 'R'; else if (n == 29) ch = 'S'; else if (n == 30) ch = 'T'; else if (n == 31) ch = 'U'; else if (n == 32) ch = 'V'; else if (n == 33) ch = 'W'; else if (n == 34) ch = 'X'; else if (n == 35) ch = 'Y'; else if (n == 36) ch = 'Z'; else if (n == 37) ch = ' '; else if (n == 38) ch = '0'; else if (n == 39) ch = '1'; else if (n == 40) ch = '2'; else if (n == 41) ch = '3'; else if (n == 42) ch = '4'; else if (n == 43) ch = '5'; else if (n == 44) ch = '6'; else if (n == 45) ch = '7'; else if (n == 46) ch = '8'; else if (n == 47) ch = '9'; else if (n == 48) ch = '.'; else if (n == 49) ch = ','; else if (n == 50) ch = ':'; else if (n == 51) ch = 'Ç'; else printf("\nFALHA NA CONVERSÃO"); return ch;}