Creazione di tot file di testo da elenco txt

di il
1 risposte

Creazione di tot file di testo da elenco txt

Ciao, devo creare un certo numero di file .txt nominandoli secondo un elenco contenuto in un file di testo (ogni riga un file).
questo il formato dell'elenco:

CDU-C-AR-COO-PLA-B4P-001.txt
CDU-C-AR-COO-PLA-B4P-002.txt
CDU-C-AR-COO-PLA-B4T-001.txt
CDU-C-AR-COO-PLA-B4T-002.txt
CDU-C-AR-COO-PLA-B3P-001.txt
CDU-C-AR-COO-PLA-B2P-001.txt
CDU-C-AR-COO-PLA-B1P-001.txt
CDU-C-AR-COO-PLA-B3T-001.txt
CDU-C-AR-COO-PLA-B1T-001.txt
..........

questo ciò che ho pensato...
solo che non funziona, mi restituisce le stringhe a video ma dei file nemmeno l'ombra...
Grazie per l'aiuto che potrete darmi
#include<stdlib.h>
#include<stdio.h>

int main() {
  FILE *fd;
  FILE *fi;
  char buf[200];
  char *res;
		/* apre il file elenco */
  fd=fopen("provatabula.txt", "r");
  if( fd==NULL ) {
    perror("Errore in apertura del file");
    exit(1);
  }


		/* legge ogni riga, */   
  while(1) {
    res=fgets(buf, 200, fd);
    if( res==NULL )
      break;
      /*apre chiude (dovrebbe) un file col nome della riga letta */
    fi=fopen(buf,"w");
	fclose(fi);
	/* stampa ogni riga*/  
    printf("%s", buf);
  }


		/* chiude il file elenco */
  fclose(fd);

  return 0;
}

1 Risposte

  • Re: Creazione di tot file di testo da elenco txt

    La fgets (come da documentazione) include nel buffer letto il carattere \n a fine stringa. Devi toglierlo prima di creare il file.
    /*apre chiude (dovrebbe) un file col nome della riga letta */
    buf[strlen(buf) - 1] = NULL;
Devi accedere o registrarti per scrivere nel forum
1 risposte