Zmienne napisowe a zapis do pliku

0

Witam, ostatnio dawno nie miałem problemów więc teraz mam ich od groma : P
Ale nie będę spamował bzdurami, mam jedno szybkie pytanie, mam w zadaniu nie do końca określoną nazwę pliku do którego będę zapisywał dane, nazwę w postaci stringa pobieram sobie z odpowiedniego wejścia ale problem napotykam przy zapisie bowiem coś nie bardzo kompilatorowi poboda się mój string jako argument ofstream. Nie wiem jak to inaczej zrobić, a w kodzie przykładowym od prowadzącego trafiłem tylko na to, co też nie działa, mianowicie dowala się do argumentu właśnie w ofstream...

bool ZapiszDoPlikuPrzykladWspolrzednychManip(const string& NazwaPliku)
{
  ofstream StrmPlikowy(NazwaPliku);

  StrmPlikowy << "10 0 10" << endl
	      << "10 20 10" << endl
	      << "15 25 15" << endl
	      << "25 25 25" << endl
	      << "30 20 30" << endl;
  return !StrmPlikowy.fail();
} 
1

Też miałem ten problem jak portowałem kod na linuxa. Okazało się, że MVS ma własne przeładowane konstruktory i metody open() fstreamów tak, żeby można było przyjąć stringa.Ale w czystych fstreamach z std:: tego nie ma. Mała poprawka. W C++11 już są, więc albo dodaj flagę kompilatorowi, żeby korzystał z C++11, albo zrób jak podałem niżej

Rozwiązaniem jest przekazanie .c_str()

bool ZapiszDoPlikuPrzykladWspolrzednychManip(const string& NazwaPliku)
{
  ofstream StrmPlikowy(NazwaPliku.c_str());
 
  StrmPlikowy << "10 0 10" << endl
          << "10 20 10" << endl
          << "15 25 15" << endl
          << "25 25 25" << endl
          << "30 20 30" << endl;
  return !StrmPlikowy.fail();
}  

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