Jak zrobić tak, że np. łącze sobie parę stringów tworząc ścieżkę do pliku,a potem umieszczam ją w poleceniu:
fstream plik( TU_ZMIENNA_STRING , std::ios::out );
bo gdy bezpośrednio umieszczam zmienną string wyskakuje błąd o złej konwersji typów.
Jak zrobić tak, że np. łącze sobie parę stringów tworząc ścieżkę do pliku,a potem umieszczam ją w poleceniu:
fstream plik( TU_ZMIENNA_STRING , std::ios::out );
bo gdy bezpośrednio umieszczam zmienną string wyskakuje błąd o złej konwersji typów.
Bo stary standard przewiduje tylko const char* jako argument konstruktora dla tego strumienia, nie stringa. Daj twój_string.c_str().
Spróbuj tak:
#include<iostream>
#include<fstream>
int main()
{
std::string a = "C:\\";
std::string b = "text.txt";
std::fstream plik( (a+b).c_str() , std::ios::out );
return 0;
}
Metoda c_str() zwraca tablicę char'ów, czyli to co wymaga konstruktor fstream.