Aurox_

bozza_savefile.c

Jan 25th, 2024 (edited)
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define FILE_PATH   "./filetxt/save.txt"
  5. #define STRLEN      1024
  6. #define INT         'i'
  7. #define UNSIGNED    'u'
  8. #define FLOAT       'f'
  9. #define CHAR        'c'
  10.  
  11. int main(void) {
  12.     FILE *pf;
  13.     int lvl,stage,nf,nval,i;
  14.     float exp;
  15.     char s[STRLEN],type;
  16.  
  17.     pf=fopen(FILE_PATH,"r"); /*apre il save file in lettura ("r")*/
  18.     if(pf==NULL) goto err_file;
  19.  
  20.     fscanf("%s",s); /*Il primo numero del file deve essere il numero di campi da leggere*/
  21.     nf=atoi(s); /*lo legge come stringa e lo converte a numero*/
  22.     for(i=0;i<nf;i++) {
  23.         fscanf("%s",s);
  24.         nval=atoi(s); /*la prima riga di ogni campo deve essere il numero di valori di quel campo*/
  25.         fscanf("%s",&type); /*la seconda riga deve contenere una lettera che indichi il stipo*/
  26.         switch (type) {
  27.             case INT:
  28.                 /*cosa fare se sono interi*/
  29.             break;
  30.             case UNSIGNED:
  31.                 /*cosa fare se sono interi senza segno*/
  32.             break;
  33.             case FLOAT:
  34.                 /*cosa fare se sono float*/
  35.             break;
  36.             case CHAR:
  37.                 /*cosa fare se sono char*/
  38.             break;
  39.             default:
  40.                 /*cosa fare in tutti gli altri casi*/
  41.             break;
  42.         }
  43.     }
  44.  
  45.     fclose(pf); /*chiude il file, in C va fatto se è stato fatto un fopen()*/
  46.     return EXIT_SUCCESS;
  47.  
  48.     err_file:
  49.         printf("ERRORE: impossibile aprire il file\n");
  50.         return EXIT_FAILURE;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment