myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Brauch Hilfe in C++ (https://mygully.com/showthread.php?t=1959079)

Technoboxy 20.12.09 12:39

Brauch Hilfe in C++
 
Hallo,
Ich habe ein Problem ...
Ich benutze
PHP-Code:

    char str[MAX_PATH];
    
GetModuleFileNameA(NULL,str,MAX_PATH);
    
cout<<str

jetzt will ich mit rename ( str, C:\\Hans\\Bla.exe);
das porgramm verschieben (hab im I-Net gelesen das das mit rename geht)
nur benötig rename das immer 2"\\"
benutzt werden müssen aber in str ist nur C:\Bla\Desktop\BLABLA.exe
geschpeichert ...
kann mir da jemand helfen

urga 20.12.09 13:00

1. du kannst keine datei verschieben die in gebrauch ist.
GetModuleFileNameA() liefert - soweit mir bekannt ist - den pfad zur gerade ausgeführten .exe. und da diese ja läuft, also in betrieb ist, kannst du die auch nicht verschieben.

2. rename() benötigt die dateinamen. insofern ist "C:\Bla\Desktop\BLABLA.exe" schon richtig. das mit dem "\\" .... lies selbst [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Technoboxy 20.12.09 13:05

hmm aber wie mach ich das den jetz das in str anstatt einem \ 2 drin sind weil beim compilieren sagt der mir unknown escape sequence \B \D \B

flotti 20.12.09 13:08

warum denn so kompliziert?

in der stdlib findest du die funktion system

also system(const_string); damit kannst du befehle an die cmd schicken

system("xcopy bla.exe C:\Bla\Desktop\BLABLA.exe");

so kannste die datei irgentwo hin kopieren

ps. char str[MAX_PATH]; das würde ich so nicht machen, lieber #include <string> und dann string str;

wenn du schon nen string selber bauen willst, dann allociere wenigstens den speicher mit malloc() oder in c++ einfach mit new

Technoboxy 20.12.09 13:11

danke sehr ;) und wie wär dan der befehl zum einfügen?

edit:
ehm und wie mach ich das mit dem ermittelten pfad?

Technoboxy 20.12.09 13:28

system("xcopy str");
ich glaube so geht das nicht ...
wie mach ich das das system("xcopy ...")
eine variable als Dateipfad annimmt ?

flotti 20.12.09 14:01

system("xcopy"+str+"neuer pfad");

Technoboxy 20.12.09 17:51

Danke :)

Edit : system("xcopy" + str + "C:\\Hans\\BLABLA.exe");

Funktioniert Leider nicht ... der fehler liegt am str ... aber weiter weiß ich net


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.