Oppure

Loading
29/05/09 0:28
feddur
Salve, ho cominciato questo programma:
#include <stdlib.h> 
#include <stdio.h>
#include <string.h>
int ok;
struct paziente
   { char nome[20]; 
     char cognome[20]; 
     int numero; 
   };

main()
  { struct paziente dati;    
  printf("*** Iserire dati paziente ***\n\n");  

  printf("Cognome: ");
  scanf("%s",dati.cognome);
    
  printf("Nome:\t ");
  scanf("%s",dati.nome);
    
  printf("Numero:\t ");
  scanf("%d",&dati.numero);

  printf("\nPremi 1 per confermare i dati, 0 per annullare:\n");
  scanf("%d",&ok);
      if (ok == 1)
      {      
      
        FILE *fp;
        fp = fopen (dati.cognome , "w+"); 
        fprintf(fp, "Cognome: %s\n", dati.cognome); 
        fprintf(fp, "Nome\t:%s\n", dati.nome);  
        fprintf(fp, "Numero\t%d\n", dati.numero); 
        
      printf("Paziente inserito nel database\n");
      
      }
      else
      { 
      printf("Annullato\n");
      }
  
  system("PAUSE");
  return 0;
  
  }



vorrei che quando salva il file, venga salvato in un cartella con il nome del cognome e nome del paziente, in modo da avere una cartella per ogni singolo paziente.
Come posso fare?
Grazie.
aaa
29/05/09 5:07
gio97
potresti creare con il comando system la cartella e poi con lo stesso comando entrarci.
ma a cosa ti serve avere i pazienti suddivisi? in fondo in ogni cartella c'è dentro un file: il numero degli oggetti che vedi è lo stesso.
aaa
29/05/09 7:06
lorenzo
devi usare l'api CreateDirectory, cerca su msdn il suo manuale

in breve dovrebbe essere:

CreateDirectory(nome, security_attributes) ma il secondo parametro può anche essere NULL e la dir creata prende gli attributi di sicurezza di default
aaa
29/05/09 9:26
feddur
Mi serve perchè per ogni paziente poi dovrei mettere altri file (il programma ancora non è finito).

Ho cercato CreateDirectory(nome, security_attributes) ma non riusco a farlo funzionare.. o meglio: non riesco a dichiare le api.

#include <stdlib.h> 
#include <stdio.h>
#include <string.h>
int ok;
struct paziente
   { char nome[20]; 
     char cognome[20]; 
     int numero; 
   };

main()
  { struct paziente dati;    
  printf("*** Iserire dati paziente ***\n\n");  

  printf("Cognome: ");
  scanf("%s",dati.cognome);
    
  printf("Nome:\t ");
  scanf("%s",dati.nome);
    
  printf("Numero:\t ");
  scanf("%d",&dati.numero);

  printf("\nPremi 1 per confermare i dati, 0 per annullare:\n");
  scanf("%d",&ok);
      if (ok == 1)
      {      
      
        FILE *fp;
        CreateDirectory(dati.cognome, NULL);
        fp = fopen (dati.cognome , "w+"); 
        fprintf(fp, "Cognome: %s\n", dati.cognome); 
        fprintf(fp, "Nome\t:%s\n", dati.nome);  
        fprintf(fp, "Numero\t%d\n", dati.numero); 
        
      printf("Paziente inserito nel database\n");
      
      }
      else
      { 
      printf("Annullato\n");
      }
  
  system("PAUSE");
  return 0;
  
  }

aaa
29/05/09 9:55
lorenzo
aggiungi in alto
#include<windows.h>
aaa
29/05/09 10:10
feddur
Grazie :)
un'altra domanda.. come faccio poi a metterci il file dentro?
aaa
29/05/09 12:37
lorenzo
scusa, crea il file direttamente nella cartella che hai creato
se per qualsiasi ragione non puoi farlo allora usa la CopyFile(vedi msdn)
aaa