W starszych wersjach C++ Buildera, gdzie typem tekstowym było AnsiString zapisywanie przy użyciu biblioteki fstream było trywialne.
AnsiString zdania[10];
ofstream moj_plik; moj_plik.open("moje_zdania.txt");
for(int i=0;i<10;i++)
{
moj_plik<<zdania[i].c_str()<<"\n";
}
moj_plik.close();
Jak zastosować taki sam zapis, gdy zamiast starego typu AnsiString używa się nowszego UnicodeString gdzie zamiast działania - <<zmienna_tekstowa.c_str() bedzie działanie <<zmienna_tekstowa.w_str()?
Analogicznie dla fragmentu kodu:
UnicodeString zdania[10];
ofstream moj_plik; moj_plik.open("moje_zdania.txt");
for(int i=0;i<10;i++)
{
moj_plik<<zdania[i].w_str()<<"\n";
}
moj_plik.close();
kompilacja nastąpi poprawnie, program się uruchomi, tyle że wynikiem będzie plik tekstowy w którego linijkach zamiast oczekiwanego tekstu będą jakiej linijki kodu szesnastkowego.