Witajcie ponownie. Nie lubię zawracać wam głowy problemami początkujących ale po wielu godzinach szukania rozwiązania problemiku zdecydowałem się poprosić o pomoc. Dodam że programowaniem (tym komputerowym) zajmuję z ciekawości i raczej nie zamierzam wiązać tego z karierą zawodową:) Jednakże chcę zrobić sobie użyteczny programik dla satysfakcji. A teraz do sedna. Oto fragment kodu C++ Builder6:
//------------------------------------------------------------------------------
void TForm1:: wczytaj_mies(AnsiString m)
{
FILE *mies1;
string linia;
int nr_linii=1;
if ( FileExists("m")==false)
{
if (Application->MessageBox("Miesiąc nie istnieje, utworzyć nowy?",
"Nowy miesiąc",MB_YESNO | MB_ICONQUESTION)== IDYES) FileCreate(m);
}
mies1=fopen("m","r");
while(getline(mies1,linia))
{
ListView1->Items->Item[nr_linii-1]->SubItems->Strings[0]=atof(linia.c_str());
nr_linii++;
}
fclose(mies1);
Label1->Caption="Wybrałeś: "+ComboBox1->Text+" "+ComboBox2->Text;
Label1->Visible=true;
}
podczas kompilacji wywala mi błąd:
[C++ Error] Unit1.cpp(40): E2285 Could not find a match for 'getline<_CharT,_Traits,_Alloc>(FILE,string)'
Wcześniej, gdy używałem fstream i funkcji mies1.open() wszystko było ok. Jednakże z innych technicznych względów zdecydowałem się na tę formę. Czy mógłby mi ktoś krótko wyjaśnić o co chodzi? Zaznaczam że nie życzę sobie podawania gotowego kodu:) Podejrzewam że nie rozumiem do końca działania funkcji getline(), albo korzystania ze wskaźników. I jeszcze ubiegając częste odpowiedzi. Nie wiem czemu, ale u mnie w builderze nie działa F1. Także jakby ktoś miał wolną chwilę, proszę o naprowadzenie.
Pozdrawiam, Mariusz.