Je suis coincé/en proie à un problème J'essaie en C (Linux) d'utiliser des appels API (seulement) pour copier plusieurs fichiers d'entrée via la ligne de commande dans un fichier de sortie. J'ai cherché des réponses sur Internet, mais aucune ne semble résoudre. Mon programme me permet de spécifier plusieurs fichiers d'entrée et un fichier de sortie via la ligne de commande. Par exemple:C: copier plusieurs fichiers en un seul
./archiver file1.txt file2 file3 file4 outputfile
Je lis ces paramètres à l'aide argc
/argv
. Pour une raison quelconque, quand j'ai ls -l
, ./archiver
et outputfile
ont le même nombre d'octets, ce qui signifie qu'aucun de mes fichiers d'entrée n'a été copié dans mon fichier de sortie, juste ce qu'il y avait en mémoire (quand j'en ai cat outputfile
)
Aucun des contenus de mes fichiers d'entrée ne se trouve dans mes fichiers de sortie.
S'il vous plaît pourriez-vous m'aider après ces tas de "" Je ne sais pas quoi faire J'ai essayé de lire sur malloc()
etc. mais je ne sais pas comment l'implémenter ou si c'est même pertinent ici.
Toute aide est appréciée, merci pour votre temps.
file_desc_in = open(argv[i],O_RDONLY,0);
//NEED a loop to copy multiple files in...
while (!eof) {
bytes_read = read(file_desc_in, &buffer, sizeof(buffersize));
if (bytes_read > 1)
bytes_written = write(file_desc_out, &i, bytes_read);
else {
eof=1;
}
Je n'ai pas inclus les erreurs mais je les ai. Merci d'avoir répondu immédiatement.
Publiez du code, sinon il est impossible de dire ce qui ne va pas. –
sorry Est-ce suffisant? – donok
Je suppose que c'est une tâche à faire - si c'est le cas, vous devriez l'étiqueter comme tel. Votre question est très floue - je pense que vous êtes frustré et peut-être que votre mission est déjà en retard, mais s'il vous plaît essayez d'être clair afin que nous sachions comment aider.Essayez-vous de concaténer plusieurs fichiers, ou essayez-vous de les stocker de telle manière que vous puissiez facilement les séparer à nouveau dans les fichiers d'origine plus tard? – nategoose