[C++] Zapisywanie zawartości pliku do stosu string


(Kamil Kocurek) #1

Witam, chciałbym dowiedzieć się jak zapisać zawartość całego pliku do stosu string:

#include 

#include 


stack stos;

Ważne jest jednak to by wszystkie znaki zostały zapisane osobno a nie jako jedna wartość, jakieś sugestie jak to zrobić?


(Frankfurterium) #2

Pętlą.


(Kamil Kocurek) #3

Ta, dzięki, nie domyśliłbym się. Ma ktoś może bardziej szczegółowe sugestie?


(Copycona) #4
  1. http://www.cplusplus.com/reference/istream/istream/get/

Metoda std::istream::get może odczytać jeden znak (bajt) ze strumienia (pliku).

Podany na tej stronie przykład dotyczy właśnie odczytania 'znak po znaku' całego pliku w pętli.

  1. http://www.cplusplus.com/reference/stri ... ng/string/

Klasa std::string posiada konstruktur, który pozwala zbudować obiekt tego typu z jednego znaku.


([alex]) #5

Do listy się da, do stosu możesz przekopiować:

#include 

#include 

#include 

#include 

#include 

#include 

#include 

using namespace std;


int main()

  {

   ifstream fin("smiec.cpp");

   list L;

   copy(istream_iterator(fin),istream_iterator(),front_inserter >(L));

   return 0;

  }