PDA

Visualizza la versione completa : [C] Concatena file


felx
25-07-2018, 12:34
C'è un esercizio che definita:
extern int accodaTuttiFile(const char *fileConNomi, const char *fileOutput)
devo aprire in modalità tradotta fileconnomi questo file contiene nomi di file da aprire successivamente in modalità lettura binaria e copiare ognni singolo byte alla fine del fileOutput e ritornare il numero dei file letti.
ho fatto questa funzione,ma non va sapreste correggermi?

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>
#include<string.h>
extern int accodaTuttiFile(const char *fileConNomi, const char *fileOutput) {
FILE *fin = fopen(fileConNomi, "rt");
FILE *fout = fopen(fileOutput, "ab");
int ret = 0;
char temp[255];
int len = 0;
while (fgets(temp,255,fin)!=NULL)
{
temp[strcspn(temp, "\n")] = 0;
ret++;
FILE *f = fopen(temp, "rb");
fseek(f, 0, SEEK_END);
len=ftell(f);
rewind(f);
fread(fout, sizeof(int), len, f);
fclose(f);
}
fclose(fin);
fclose(fout);
return ret;


}

oregon
25-07-2018, 21:19
Ma perché continuate a dire "non va" senza dare dettagli?

torn24
26-07-2018, 09:22
FILE *fin = fopen(fileConNomi,"rt");

torn24
26-07-2018, 09:24
FILE *fin = fopen(fileConNomi,"rt");

Potrebbe dare problemi ?? "rt" non l'ho mai visto :)
COME non detto. Ho fatto una ricerca "forse avrei dovuto farla prima di postare", vedo sempre "r" per file di testo.

Loading