by
3 6
0
3
2,960
0
Top 1% !
Famous
Specified
Popularity: 4998th place

Published on:

No tags for this snippet yet.
LanguageC
SourceGitHub

Only simple letters for now

Only simple letters for now: 
caesar.c
Copy Embed Code
<iframe id="embedFrame" style="width:600px; height:300px;"
src="https://www.snip2code.com/Embed/773547/Only-simple-letters-for-now?startLine=0"></iframe>
Click on the embed code to copy it into your clipboard Width Height
Leave empty to retrieve all the content Start End
#include <stdio.h> void caesar_cipher(FILE *input, FILE *output, int k){ int ch; k %= 26; //26 indica uma volta completa, logo qualquer k>26 é excessivo do{ ch = fgetc(input); if(ch >= 65 && ch <= 90) { //letra maiuscula? (valores de 'A' e 'Z' da tabela ASCII) ch += k; if(ch > 90) ch -= 26; //se tiver passado do 'Z', subtrai uma volta completa } else if(ch >= 97 && ch <= 122) { //letra minuscula? (valores de 'a' e 'z' da tabela ASCII) ch += k; if(ch > 122) ch -= 26; //se tiver passado do 'z', subtrai uma volta completa } if(ch != EOF) fputc(ch, output); }while(ch != EOF); } void caesar_decipher(FILE *input, FILE *output, int k){ int ch; k %= 26; //26 indica uma volta completa, logo qualquer k>26 é excessivo do{ ch = fgetc(input); if(ch >= 65 && ch <= 90) { //letra maiuscula? (valores de 'A' e 'Z' da tabela ASCII) ch -= k; if(ch < 65) ch += 26; //se tiver passado do 'A', soma uma volta completa } else if(ch >= 97 && ch <= 122) { //letra minuscula? (valores de 'a' e 'z' da tabela ASCII) ch -= k; if(ch < 97) ch += 26; //se tiver passado do 'a', soma uma volta completa } if(ch != EOF) fputc(ch, output); }while(ch != EOF); } int main(){ FILE *input = NULL; FILE *output = NULL; int k = 3; input = fopen("teste.txt", "r"); output = fopen("teste_out.txt", "w"); if(input == NULL || output == NULL){ //se deu erro printf("shit"); return 1; } caesar_cipher(input, output, k); //encripta usando a chave k //caesar_cipher(input, output, k); //decripta usando a chave k fclose(input); fclose(output); return 0; }
If you want to be updated about similar snippets, Sign in and follow our Channels

blog comments powered by Disqus