Code für: Datei öffnen lesen und in andere schreiben?
-
Hallo,
wer hat kruzen eleganten Code welche eine Datei kopiert, in deim die quelle un das ziel jeweil mit fopne gefönnen werden und die byte kopeit werden?
-
www.google.de/codesearch :xmas2:
-
ist allerdings mit open, müsste aber anlog mit fopen auch gehen (glaub ich)...
#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char* argv[]) { int fdesc1; int fdesc2; int readsize = 1; char *buffer; int writesize; int index = 0; if (argc!=4){ printf("Bitte Quelle Ziel und Anzahl der Bytes mitangeben!\n"); return 0; } index = atoi(argv[3]); buffer = (char *)malloc(sizeof(char)*index); fdesc1 = open(argv[1], O_RDONLY); if(fdesc1 == -1) { printf("Fehler beim oeffnen der Datei\n"); return 0; } fdesc2 = creat(argv[2], S_IRUSR | S_IWUSR); if(fdesc2 == -1) { printf("Fehler beim erstellen der Datei!\n"); return 0; } readsize= read(fdesc1, buffer, index); if(readsize != 0 ) { if (readsize == -1 ) { printf("Fehler beim Lesen\n"); } writesize = write(fdesc2, buffer, readsize); if (writesize == -1 ) { printf("Fehler beim Schreiben\n"); } } else { printf("Sie haben 0 Bytes zum kopieren angegeben!?!\n"); return 0; } printf("Es wurden %i Bytes erfolgreich geschrieben\n", index); close(fdesc1); close(fdesc2); return 0; }