Pagina 1 di 1

C - Creare file con nome casuale

MessaggioInviato: dom ott 11, 2009 2:06 pm
da The_Big_J0k3R
qualcuno sa come si fa? se si mi aiutate perfavore che io non so come fare....
Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>

int min,rr;
char nome[10];
FILE *fp;

main()
{
 srand(time(NULL));
 
 for(min=0; min<=4; min++)
 {
  char alfabeto[26] = "abcdefghjiklmnopqrstuvwxyz";
  rr = rand()%26;
  nome[min] = alfabeto[rr];
 }
   
 fp = fopen("nome.txt","w");
 fprintf(fp,"Ciao\n");
 fclose(fp);
}

Il nome del file è sempre nome non mi cambia mai e non capisco il perche, qualcuno sa aiutarmi?
grazie.

Re: C - Creare file con nome casuale

MessaggioInviato: dom ott 11, 2009 3:03 pm
da M@ttia
Beh, quando tu gli dici
Codice: Seleziona tutto
fp = fopen("nome.txt","w");
gli stai dicendo di aprire un file chiamato nome.txt (nome non è la tua array, ma proprio la stringa n-o-m-e !). Dovresti aggiungere alla tua array alla fine anche le lettere . t x t e poi passare a fopen la tua array come argomento, senza le graffe "" (che implicano che quello che sta in mezzo va letto come una stringa e non come il nome di una variabile o altro)

Re: C - Creare file con nome casuale

MessaggioInviato: dom ott 11, 2009 3:09 pm
da The_Big_J0k3R
M@ttia ha scritto:Beh, quando tu gli dici
Codice: Seleziona tutto
fp = fopen("nome.txt","w");
gli stai dicendo di aprire un file chiamato nome.txt (nome non è la tua array, ma proprio la stringa n-o-m-e !). Dovresti aggiungere alla tua array alla fine anche le lettere . t x t e poi passare a fopen la tua array come argomento, senza le graffe "" (che implicano che quello che sta in mezzo va letto come una stringa e non come il nome di una variabile o altro)

e quindi come dovrei fare se volessi il formato? perche se metto fp = fopen(nome,"w"); mi da un file con un nome qualsiasi senza formato...

Re: C - Creare file con nome casuale

MessaggioInviato: dom ott 11, 2009 3:42 pm
da M@ttia
Così come fai
nome[0,1,2,3] = alfabeto[rr];
allo stesso modo alla fine aggiungi l'estensione
nome[4] = ".";
nome[5] = "t";
nome[6] = "x";
nome[7] = "t";

(non so se si possa assegnare in un colpo solo: ho sempre avuto problemi con le char e in C++ uso solo string, ma quello è solo un dettaglio...)

Re: C - Creare file con nome casuale

MessaggioInviato: lun ott 12, 2009 3:57 pm
da The_Big_J0k3R
M@ttia ha scritto:Così come fai
nome[0,1,2,3] = alfabeto[rr];
allo stesso modo alla fine aggiungi l'estensione
nome[4] = ".";
nome[5] = "t";
nome[6] = "x";
nome[7] = "t";

(non so se si possa assegnare in un colpo solo: ho sempre avuto problemi con le char e in C++ uso solo string, ma quello è solo un dettaglio...)

grazie lo stesso... ho provato ma niente da fare, mi da errore...
Invece mi servirebbe una info... come faccio ad eliminare e modificare (per modificare intendo i valori delle chiavi e non i nomi) le chaivi di registro in c?