C++ Probleme mit Dateinpfad

CodeCrafterCpp

Erfahrenes Mitglied
Hallo,
ich muss euch mal wieder mit meinen Fragen und Problemen nerven. :D
Und zwar möchte ich gerne an einen Pfad zb. "C://Users/******/AppData/Roaming/.minecraft/bin/"
Einen Variable wie zb.
string txtname = "minecraft1.jar";
anhängen da meine Suche auf Google irgendwie nie zum Ziel führt muss ich euch mal wieder fragen.


Und da hab ich auch noch ne 2 Frage wie ich aus einer Text Datei die Variable heraus lese (die Variable mit den Pfad also "minecraft1.jar") also welche Bibliothek ich am besten benutzen sollte....


mfG
 
Hi

sowas findet man aber sehr leicht über Google...

Frage 1:
Je nachdem, wie der String vorliegt.
strcat oder += oder...

Frage2:
FILE*, fopen&fclose, fgets...oder die Klassen rund um fstream oder...
 
Ich Check das nicht

C++:
char nametxt[] = "/Minecraft1.jar";
char oldname[] = "C://Users/Jonas/AppData/Roaming/.minecraft/bin%s",nametxt;

Was ist denn falsch?

Code:
Fehler	1	error C2040: 'nametxt': 'char' unterscheidet sich von 'char [16]' in Bezug auf die Anzahl vorgenommener Dereferenzierungen	c:\users\******\desktop\alles\ent\guitest\guitest\main.cpp	133
 
Du mußt zwischen C-Strings (char-Arrays, char*) und std::string unterscheiden. Vergiss am besten, daß es C-Strings gibt.

std::string nametxt = "/Minecraft1.jar";
std::string oldname = "c://users/jonas/appdata/Roaming/.minecraft";

std::string fullPath = oldname + nametxt;
 
Ich hab jetzt:
C++:
						string text;
						ifstream file; 
						file.open("C://Users/Jonas/AppData/Roaming/.minecraft/bin/cash.txt", ios::in); 
						text = ' ';
						getline(file, text); 
						file.close();

Aber jetzt muss ich ja den String "text" in eine Char Array umwandeln bloß wie geht das?
Wo Speichert man eine Datei die der Nutzer nicht löschen soll?
Also da wo ich den Pfad speichern möchte?
In welchen Dateintyp? txt?
 
Benutze doch die c_str-Funktion eines String-Objekts:
C++:
file.open( text.c_str() );

Wo Speichert man eine Datei die der Nutzer nicht löschen soll?
Der Nutzer kann soweit ich weiß immer alle Dateien löschen, sofern sie nicht vom Betriebssystem gesperrt sind.

Ansonsten nicht in einen TEMP-Ordner o.Ä.

Der Dateityp ist völlig egal, da dieser nicht den Inhalt der Datei ausmacht!

@sheel:

Die Größe 1234 hast du jetzt einfach als Beispiel genommen, oder?
Oder habe ich irgendeine Festlegung verpasst?
 
Zu 1234: Ja, einfach so als Beispiel.
Irgendeine Zahl muss es ja sein, weil [] keinen Platz für irgendein strcat macht.

Zum Nutzer-löscht-Datei: Wenn der Benutzer eine Datei löscht, die er nicht kennt,
und ein Programm deswegen nicht mehr funktioniert, ist er selbst schuld.
Ganz einfach.
Wenn ich bei Windows irgendeine Datei aus C:\Windows\system32 lösche
wird es wahrscheinlich auch Probleme geben.



(Sehr Offtopic:
Ansonsten nicht in einen TEMP-Ordner o.Ä.
Das muss man mal dem Lamp-Team sagen.
Sessions gehören nicht in ein Verzeichnis, das per Cronjob geleert wird.)
 
Ja ich meine ob es einen Ordner gibt wo Einstellungen oder so von Programmen sind....

Ich versteh das mit der c_str-Funktion nicht
C++:
file.open( text.c_str() );

Was bringt mir das?
 
Sieht man das nicht am Returntyp?
Einen std::String kann man per c_str() in einen char-Array-String umwandeln.
Genau das wolltest du doch.
 
Zurück