• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie mogę zapisać zmiennej typu AnsiString do pliku .ini

VPS Starter Arubacloud
0 głosów
417 wizyt
pytanie zadane 18 grudnia 2015 w C i C++ przez kuka323 Nowicjusz (200 p.)

Witam.

Napisałem prosty program w C++ Builderze(od Borlandu)który ma za zadanie sczytać z pola Edit jakiś napis i po naciśnięciu przycisku zapisać go do pliku .ini.

Fragment kodu odpowiedzialny za sczytanie i zapisanie tekstu.


 

void __fastcall TForm1::Button1Click(TObject *Sender)
{

  Tekst = Edit1 -> Text;


  fstream plik;
    plik.open("zapis.ini",ios::out);
  plik <<Tekst;

}

A błąd mam taki:

[C++ Error] Unit1.cpp(31): E2094 'operator<<' not implemented in type 'fstream' for arguments of type 'AnsiString'

 

 

 

 

 

2 odpowiedzi

+1 głos
odpowiedź 18 grudnia 2015 przez Radfler VIP (101,030 p.)
wybrane 18 grudnia 2015 przez kuka323
 
Najlepsza

Operator przesunięcia bitowego w lewo nie jest zaimplementowany dla AnsiStringu. Taka instrukcja powinna rozwiązać problem:

plik <<Tekst.c_str();

#EDIT A jeżeli nie chcesz za każdym razem pisać tego c_str, to zdefiniuj takie przeładowanie operatora:

std::ostream operator<<(std::ostream& ostream, const AnsiString& string) {
  return ostream << string.c_str();
}
komentarz 18 grudnia 2015 przez kuka323 Nowicjusz (200 p.)
Dziękuje już wszystko śmiga :)

P.S będę mógł odrobić zadanie domowe z 10 odcinka obiektowego c++;
+1 głos
odpowiedź 18 grudnia 2015 przez Krawiec91 Pasjonat (19,600 p.)
Witam
Nie ma zdefiniowanego operatora << dla typu AnsiString, dlatego to nie działa. Masz dwa wyjścia:
- zdefiniować operator << dla typu AnsiString,
- zamienić AnsiString na std::string albo tablicę char, a potem normalnie używać klasy fstream i operatora >>.
komentarz 18 grudnia 2015 przez kuka323 Nowicjusz (200 p.)
Dziękuje Ci bardzo :)

Podobne pytania

0 głosów
2 odpowiedzi 744 wizyt
+1 głos
1 odpowiedź 700 wizyt
0 głosów
1 odpowiedź 936 wizyt
pytanie zadane 22 maja 2015 w C i C++ przez Ceki Mądrala (5,310 p.)

93,005 zapytań

141,971 odpowiedzi

321,251 komentarzy

62,343 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...