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

mały kłopot z getline()

Object Storage Arubacloud
+1 głos
125 wizyt
pytanie zadane 25 września 2016 w C i C++ przez Maniutek Użytkownik (520 p.)

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.

2 odpowiedzi

+1 głos
odpowiedź 25 września 2016 przez unknown Nałogowiec (39,560 p.)
wybrane 30 września 2016 przez Maniutek
 
Najlepsza
Jeśli chcesz używać uchwytów do plików z C to do odczytywania danych z pliku musisz użyć funkcji: fscanf( http://www.cplusplus.com/reference/cstdio/fscanf/ ) lub fread( http://www.cplusplus.com/reference/cstdio/fread/ )
komentarz 25 września 2016 przez Maniutek Użytkownik (520 p.)
Dzięki, będę walczył dalej, pozdrawiam.
komentarz 30 września 2016 przez Maniutek Użytkownik (520 p.)
Po paru ładnych godzinach walki z typami zmiennych (double-float) udało mi się opanować problem z wczytywaniem i zapisywaniem:) Dzięki.
0 głosów
odpowiedź 25 września 2016 przez Rivelon Użytkownik (700 p.)
spróbuj std::getline
komentarz 25 września 2016 przez Maniutek Użytkownik (520 p.)
Niestety to samo, ale dzięki za odp.

Podobne pytania

0 głosów
1 odpowiedź 597 wizyt
pytanie zadane 31 maja 2018 w C i C++ przez Virius Początkujący (490 p.)
0 głosów
1 odpowiedź 71 wizyt
0 głosów
0 odpowiedzi 160 wizyt
pytanie zadane 8 stycznia 2022 w C i C++ przez dark41 Użytkownik (760 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...