Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    37

    file e directory

    Ciao a tutti,nell ambito di un programma C,è possibile creare un file con un certo nome e metterlo in una cartella diversa da quella corrente??Ossia è possibile specificare il path?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ovviamente sì, altrimenti non funzionerebbero la gran parte dei programmi ...

    Indica il path completo quando crei la cartella ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    37
    Ciao e grazie per la risposta,io sto utilizzando un sistema linux,e nell'ambito del programma ho creato una cartella in una certa posizione con la funzione mkdir("nome cartella",flag).Ora vorrei che un'altro programma C possa creare e scrivere file dentro la cartella appena creata.E' possibile farlo con fopen???se si in che modo??Ciao e grazie ancora!!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Indica il percorso completo nella fopen ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    certo che puoi, ad es. crea/apre il file specificato da linea di comando (o almeno ci prova)

    se la cartella/il file contiene degli spazi, servono gli apici o i doppi apici (se usi questi ultimi, fai attenzione alle shell...)

    es.
    ./a.out 'nome cartella/questo è un file'
    oppure
    ./a.out "${HOME}/dir/.bla bla bla @ @ @ . ?^"

    codice:
    #include <stdio.h>
    
    int main(int argc, char **argv)
    {
    	FILE *fnew;
    
    	if (argc != 2) 
    		return 1;
    
    	fnew = fopen(argv[1], "a+"); 
    	if (fnew == NULL) {
    		printf("File %s not opend %s.\n", argv[1]);
    		return 1;
    	}
            printf("File %s opend.\n", argv[1]);
    	if (fclose(fnew) != 0)
    		printf("File %s not closed. The system "
    				"should do it for us.\n", argv[1]);
    	else
    		printf("File %s closed.\n", argv[1]);
    	return 0;
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    37
    Ti rompo le P...e un altro po Il mio problema è che il file deve essere messo nella cartella appena creata e deve avere un nome che contiene giorno mese anno ore minuti secondi e un identificativo numerico.Come posso combinare il percorso con la striga che contiene suddetti valori??Ciao!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    Come posso combinare il percorso con la striga che contiene suddetti valori??Ciao!!
    utilizzando strftime, ad es.

    codice:
    #include <stdio.h>
    #include <time.h>
    
    int main(int argc, char **argv)
    {
    	char 		fname[21];
    	time_t 		epoch;
    	struct tm 	*date;
    	FILE 		*fnew;	
    
    	epoch = time(NULL);
    	date  = localtime(&epoch);
    	strftime(fname, 21, "%d_%h_%Y_%H:%M:%S", date);
    
    	fnew = fopen(fname, "a+"); 
    	if (fnew == NULL) {
    		printf("File %s not opend %s.\n", fname);
    		return 1;
    	}
            printf("File %s opend.\n", fname);
    	if (fclose(fnew) != 0)
    		printf("File %s not closed. The system "
    				"should do it for us.\n", fname);
    	else
    		printf("File %s closed.\n", fname);
    	return 0;
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    37
    Grazie mille!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.