codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAX_R 30
int main(int argc, char *argv[])
{
FILE *ptrcode;
FILE *ptrdec;
char alf_cod32 [35] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z'};
char carattere, parola_codificata[31], chiave[31];
int i, j, p;
if(argc!=3)
{
printf("Errore nell'immissione degli argomenti!!\n\n");
exit(EXIT_FAILURE);
}
else if((ptrcode=fopen(argv[1], "r"))==NULL)
{
printf("impossibile aprire il file %s\n\n", argv[1]);
exit(EXIT_FAILURE);
}
else if((ptrdec=fopen(argv[2], "w"))==NULL)
{
printf("impossibile scrivere sul file %s\n\n", argv[2]);
exit(EXIT_FAILURE);
}
else{
/* inizializza tutta la matrice col carattere di fine stringa */
for (i = 0; i < MAX_R; i++)
parola_codificata[i] = '\0';
while (!feof (ptrcode))
{
fscanf (ptrcode, "%s", parola_codificata);
/*printf("\n%s", parola_codificata);
printf("\n carattere 2: %c", parola_codificata[1]);
printf("\n carattere 3: %c", parola_codificata[2]);*/
for(i=0; i<MAX_R; i++)
{
//printf("\n%c", parola_codificata[i]);
for(j=0; j<strlen(alf_cod32); j++)
{
printf("\n carattere 2: %c", parola_codificata[2]);
printf("\n carattere 3: %c", parola_codificata[3]);
if(parola_codificata[i] == alf_cod32[j])
{
printf("\n carattere: %c indice %d indice alfabeto: %d", parola_codificata[i], i, j);
fprintf(ptrdec, "%d", j);
}
p = parola_codificata[i] - '0';
//controllo se il carattere corrente è un numero
if (isalpha(p)==0){
chiave[j] = 'N';
}
else{
chiave[j] = 'L';
}
}
}
fprintf(ptrdec, "\n");
}
fclose(ptrcode);
fclose(ptrdec);
}
}