c++ file copy demo added
authorMarkus Bröker <mbroeker@largo.dyndns.tv>
Sat, 13 Dec 2008 17:58:04 +0100
changeset 11 0a8be4eac87e
parent 10 f19f44e2e863
child 12 9f0ce4eaa1ce
c++ file copy demo added committer: Markus Bröker <mbroeker@largo.homelinux.org>
Makefile
copy.cc
--- a/Makefile
+++ b/Makefile
@@ -39,7 +39,8 @@
 	gauss \
 	mem2swap \
 	prog_limit \
-	connection
+	connection \
+	copy
 
 .SUFFIXES: .c .cc .asm
 
@@ -215,6 +216,10 @@
 	@echo Linking $< ...
 	@$(CPP) -o $@ $<
 
+copy: copy.o
+	@echo Linking $< ...
+	@$(CPP) -o $@ $<
+
 .PHONY: clean uninstall
 
 clean:
new file mode 100644
--- /dev/null
+++ b/copy.cc
@@ -0,0 +1,39 @@
+/**
+ * Kopierprogramm für Dateien in C++
+ * Copyright (C) 2008 Markus Bröker
+ */
+
+#include <iostream>
+#include <fstream>
+
+int main(int argc, char **argv)
+{
+	std::ifstream in;
+	std::ofstream out;
+
+	char c;
+
+	if ( argc != 3 ) {
+		std::cout << "Benutzung: " << argv[0] << " <datei> <datei>" << std::endl;
+		return EXIT_SUCCESS;
+	}
+
+	in.open(argv[1], std::ios::binary);
+	if ( !in ) {
+		std::cerr << "Fehler: Kann Datei " << argv[1] << " nicht lesen!" << std::endl;
+	}
+
+	out.open(argv[2]);
+	if ( !out ) {
+		std::cerr << "Fehler: Kann Datei " << argv[2] << " nicht beschreiben!" << std::endl;
+	}
+
+	while ( in.get(c) ) {
+		out << c;
+	}
+
+	in.close();
+	out.close();
+
+	return EXIT_SUCCESS;
+}