Vale jeje creo que a sido una giñada de codigo
el objetivo era cifrar un archivo de texto con root 13 pero algo deve fallar, he quitado la "b" a la hora de abrir archivos para que no los abra en modo binario pero aun asi cuando cifra el archivo da un tipo de archivo no reconocido y al descifrarlo pasa =, dejo el codigo.
CIFRADOR#include <stdio.h>
#define root 13
main() {
char z,buffer3[10000];
printf("¿Número de carácteres?\n"); int num;
char vector[num];
int c;
FILE *comprob;
comprob
= fopen("archivo.txt","r");if (comprob==NULL) {
printf("No existe el archivo\n"); } else {
int i;
for (i=0; i<num; i++) {
vector[i]=c;}
vector[i] = '\0';
int a,b;
char* buffer2 = "abcdefghijklmnñopqrstuvwxyz1234567890¿?()/&%$·!¡-.,;: ><*+";
for (a=0; a<num; a++) {
for (b=0; b<58; b++) {
if (vector[a]==buffer2[b]) {
z = a + root;
buffer3[a] = buffer2[z]; }}}}
FILE *comprobfin;
comprobfin
= fopen ("cifrado.txt","w+");
int d;
for (d=0; d<num; d++) {
fputc (buffer3
[d
],comprobfin
); } return 0;}
DESCIFRADOR#include <stdio.h>
#define root 13
main() {
char z,buffer3[10000];
printf("¿Número de carácteres?\n"); int num;
char vector[num];
int c;
FILE *comprob;
comprob
= fopen("cifrado.txt","r");if (comprob==NULL) {
printf("No existe el archivo\n"); } else {
int i;
for (i=0; i<num; i++) {
vector[i]=c;}
vector[i] = '\0';
int a,b;
char* buffer2 = "abcdefghijklmnñopqrstuvwxyz1234567890¿?()/&%$·!¡-.,;: ><*+";
for (a=0; a<num; a++) {
for (b=0; b<58; b++) {
if (vector[a]==buffer2[b]) {
z = a - root;
buffer3[a] = buffer2[z]; }}}}
FILE *comprobfin;
comprobfin
= fopen ("archivo.txt","w+");
int d;
for (d=0; d<num; d++) {
fputc (buffer3
[d
],comprobfin
); } return 0;}
a ver si me ayudan