Mailen
|
ICQ
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107.
#include <stdio.h>
#include <stdlib.h>
int iCopyFile(char *source, char *destination)
{
FILE *from, *to;
long filesize=0;
long geschafft=0;
char ch;
int ProzentFertig;
int lastprozent=0;
if((from = fopen(source, "rb"))==NULL)
{
printf("Fehler beim Oeffnen der Quelldatei!\n");
return 1;
}
/*Groese ermitteln*/
fseek( from, 0, SEEK_END );
filesize= ftell( from );
rewind(from);
if((to = fopen(destination, "wb"))==NULL)
{
printf("Fehler beim Erzeugen der Ziel Datei!\n");
return 2;
}
printf("Quelle:\t%s\nZiel:\t%s\nGroesse: %ld Bytes\n",source,destination,filesize);
printf("Fortschritt: ");
while(!feof(from)) {
ch = fgetc(from);
if(ferror(from))
{
printf("Fehler beim Lesen der Quelldatei!.\n");
return 3;
}
if(!feof(from))
fputc(ch, to);
geschafft++;
ProzentFertig=round((double)geschafft/(double)filesize*60);
if (ProzentFertig > lastprozent)
printf("%c",219);
lastprozent=ProzentFertig;
if(ferror(to))
{
printf("Fehler beim Schreiben der Zieldatei\n");
return 4;
}
}
if(fclose(from)==EOF)
{
printf("Fehler beim Schliessen der Quelldatei!.\n");
return 5;
}
if(fclose(to)==EOF)
{
printf("Fehler beim Schliessen der Zieldatei!.\n");
return 6;
}
printf("\nDatei erfolgreich kopiert!");
return 0;
}
int iDateiEingabe()
{
char *quelle;
char *ziel;
printf("Geben sie bitte die Quelldatei ein: ");
gets(quelle);
printf("Geben sie bitte die Zieldatei ein: ");
gets(ziel);
iCopyFile(quelle,ziel);
return 0;
}
int iController()
{
iDateiEingabe();
return 0;
}
int main()
{
iController();
getch(); //benoetigt eventuell conio.h
return 0;
}
Zitieren
Beitrag melden
Mailen
|
ICQ
Zitieren
Beitrag melden