string i fstream

0

Witam mam problem gdyż chcę do stringów dodać ścieżkę do pliku podaną przez usera lub Od razu zinicjalizowaną to w żaden sposób nie mogę tego wrzucić do ofstream czy otwarcia pliku.

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
	string sciezka,dysk,folder,nazwa;
	dysk = "D:\\";
	folder = "Inne\\";
	nazwa = "eee.txt";

	string *wsk;
	sciezka = dysk + folder + nazwa;
	wsk = &sciezka;
	ofstream(wsk);
	system("pause");
} 

próbowałem wskażnikami,stringami...

0

sciezka = dysk + folder + nazwa;
ofstream(sciezka.c_str());

0

Jakieś wyjaśnienie?
Bo na stronie cplusplus jest coś o tym ale to wywala kolejne wyrazy ze stringa do nowej lini...

0

pierwszy parametr konstruktora ofstream wymaga typu const char * a ty masz typ string.
klasa string ma metodę c_str() która zwraca właśnie const char *.

Właściwie to możesz to zrobic nawet tak:

ofstream((dysk + folder + nazwa).c_str());

1 użytkowników online, w tym zalogowanych: 0, gości: 1