::CopyFile aussehen des Pfades
-
Was gibt denn die MessageBox aus?
Ansonsten kopiert man Strings normalerweise mit normalen Operatoren:... CString kochen = "..\\Rezepte\\kochentxt\\"; ... out.getline(buff,1500); in=buff; alt=in; int nTmp = in.ReverseFind('\\'); in.Delete(nTmp-in.GetLength(),nTmp); DWORD l = in.GetLength(); in.Delete(1-l); pfadfilekopie=kochen+in; MessageBox(pfadfilekopie,"pfadfilekopie"); ...
Ach ja ...
Deine Aufrufe von Delete sind falsch. Schau dir die Funktion mal in der MSDN an.
-
Die MessageBox gibt den Pfad genau so wieder wie er sein soll...
wie meinst du das mit Delete, hat bisher ganz gut fuktioniert
aber kann ja mal schauen
-
MessageBox:
..\Rezepte\kochentxt\..
.. am ende steht für das entsprechende ende (also z.Bsp. kuchen.txt)
-
Hm, jedenfalls ist dein Deleteaufruf falsch. Der erste Parameter von Delete ist das erste Zeichen, das gelöscht werden soll. Der zweite Parameter gibt an, wieviele gelöscht werden sollen.
Wenn du beim ersten Delete also den Pfad löschen willst und nur den Dateinamen behalten willst, dann sieht das ganze so aus:int nTmp = in.ReverseFind('\\'); in.Delete(0,in.GetLength()-nTmp+1); pfadfilekopie=kochen+in; MessageBox(pfadfilekopie,"pfadfilekopie");
-
mag sein
abe bei mir greift er einfach mitten in den String und tut an der Falschenstelle so löschen. weit bevor er aufhören soll hört er so auf.Bsp:
C:Dokumnte und Einstellungen\Ich\habe\hunger\abc.txt
wird zu
ungen\ich\habe\hunger\abc.txt
-
Jo, mein Fehler. Mein obiger Codeausschnitt muss so heißen:
int nTmp = in.ReverseFind('\\'); in.Delete(0,nTmp+1); pfadfilekopie=kochen+in; MessageBox(pfadfilekopie,"pfadfilekopie");
-
ja jetzt geht es
aber das mit der kopie noch immer nicht...
Die Ordner Stimmen (und existieren)
und der Pfad ist auch richtig zusammengestellt.
Vielleicht noch am anfang oder ende leerzeichen???
Würde doch aber nix machen,oder
-
Ne, Leerzeichen bringt nix. Versuch mal beim zweiten Parameter keinen relativen sondern einen absoluten Pfad zu nehmen.
Kann es sein, dass du vor der Kopieraktion einen Datei-Öffnen-Dialog anzeigst?
-
nein ich zeige vorher keinen dialog an
das mit dem Absoluten is nicht weil das Prog nicht nur bei mir laufen soll...
und dann auf den 'Ressourcen -Ordner' zugegriffen werden soll
-
Das ist mir klar. Nur zu Testzwecken.
-
auch leer
also keine kopie
-
Hm, dann hab ich acuh keine Ahnung mehr.
-
nur mal so als test
kann ich die txt direkt öffnen lassen, aus dem pro
nur so als existenztest....
-
Ja, mit
ShellExecute(NULL, "open", "Text.txt", NULL, NULL, SW_SHOWNORMAL);
-
hallo,
hab den Fehler gefunden und so was doofes...
also ich lese aus dem File auch Lweerezeilen ein, diese bekommen auch einfach kochen angehängt, und beim kopieren tut der immer den ordner neu erstellen da ja kein txt zu erstellen ist....
Hat einer mal Valium...
So da wären wir beim nächsten problem wie verhindere ich es das leerezeilen eingelesen werden???
einlesen tu ich über ifstream.