File copy tool
-
Hallo leute,ich versuche ein kleines file copy tool zu schreiben.
Leider weiß ich nicht,wie Ich die files auf das eingegebene laufwerk kopieren soll.#include <iostream> #include <windows.h> using namespace std; int main() { cout << "Simple installer,press 1 to continue" << endl; int laufwerk; laufwerk = 1; cout << "Laufwerksbuchstaben eingeben" << endl; cin >> laufwerk; cin.get(); cout << "test" << 1 << "starting install\n"; CopyFileA("test.txt","DER EINGEGEBENE LAUFWERKSBUCHSTABEN:\\test1.txt",FALSE); cin.get(); return 0; }Also ich will einfach ein tool schreiben,dass wenn ich es starte mich nach dem laufwerksbuchstaben frage,ich gebe den laufwerksbuchstaben ein und es wird dann dorthin installert.
Ich sitze schon den ganzen Tag vor dem Code,dann habe ich dieses Forum entdeckt und habe wieder hoffnung bekommen.
bitte helft mir,danke

-
In C++ gibt's dafür Strings, sind in der Standard-Library auch drin:
#include <iostream> #include <string> //<<-- Header #include <windows.h> using namespace std; int main() { cout << "Simple installer,press 1 to continue" << endl; char laufwerk; //<<-- char ist ein Zeichen, wie 'A' oder 'C' cout << "Laufwerksbuchstaben eingeben: " << endl; cin >> laufwerk; string ZielDatei = "X:\\test1.txt"; //<<-- String initialisieren, mit X als Platzhalter ZielDatei[0] = laufwerk; //<<-- Erstes Zeichen wird Laufwerksbuchstabe cin.get(); cout << "test" << 1 << "starting install\n"; const char* Zeiger = ZielDatei.c_str(); //<<-- Die WinAPI kennt leider keinen std::string // Deshalb holen wir uns einen rohen Zeiger CopyFileA( "test.txt", Zeiger, FALSE ); cin.get(); return 0; }
-
Danke,probiere ich gleich aus.
Größes Dankeschön :=)EDIT:
Klappt leider nicht,code:#include <iostream> #include <string> //<<-- Header #include <windows.h> using namespace std; int main() { cout << "Press 1 to continue" << endl; char laufwerk; //<<-- char ist ein Zeichen, wie 'A' oder 'C' cout << "Drive Letter (nur der buchstabe): " << endl; cin >> laufwerk; string ZielDatei = "test.txt"; //<<-- String initialisieren, mit X als Platzhalter ZielDatei[0] = laufwerk; //<<-- Erstes Zeichen wird Laufwerksbuchstabe cin.get(); cout << 1 << "Installing....Install finished,press ENTER!\n"; const char* Zeiger = ZielDatei.c_str(); //<<-- Die WinAPI kennt leider keinen std::string // Deshalb holen wir uns einen rohen Zeiger CopyFileA( "test.txt", Zeiger, FALSE ); cin.get(); return 0;die text.txt datei ist im selben ordner wie die komplimierte exe,es wird aber nichts kopiert?
Habe zum test als laufwerksbuchstaben
C
eingegeben,klappt aber nicht.
Danke und lg

-
cppnoobie schrieb:
..im selben ordner wie die komplimierte exe

copy & paste ist jetzt nicht wirklich schwer oder?
Vergleiche:
fdfdg schrieb:
string ZielDatei = "X:\\test1.txt"; //<<-- String initialisieren, mit X als Platzhaltermit
cppnoobie schrieb:
string ZielDatei = "test.txt"; //<<-- String initialisieren, mit X als Platzhalter
-
Danke

Sorry,mich hat das X ein bisschen verwirrt

-
Habe mich hier registriert,also sorry wegen dem doppelpost.
Habe da noch eine frage,ich will nun die datei "text.txt" nach laufwerk:neuer/ordner kopieren.meine code lautet so:
CopyFileA( "test.txt", Zeiger:\\neuer\Ordner\test.txt, FALSE );wie kann man in c++ ganze ordner mit unterordnern kopieren und wie kann man welche erstellen?
klappt aber leider nicht,danke

-
the_real_noob schrieb:
klappt aber leider nicht,danke

Das ist keine Fehlerbeschreibung.
Ansonsten musst du dich mit C-Strings befassen, da die WinAPI in C geschrieben ist. Allerdings halte ich es für sehr fragwürdig, dass du direkt mit etwas so großem und nicht sonderlich anfängerfreundlichem einsteigst. Lern doch zunächst die Grundlagen...
-
In Strings musst du immer \\ verwenden, wenn du \ meinst.
-
wie kann man in c++ ganze ordner mit unterordnern kopieren und wie kann man welche erstellen?Boost.Filesystem