odwracanie ciagu liczb

0

Witam;
Staram sie nauczyc C++.
Spotkalem sie z takim programem do odwracania ciagu liczb:

#include <iostream>
#include <string>
using namespace std;

int main(){
  char znak;
  string s;
  while((znak = cin.get()) != EOF) s += znak;
  for(int i = s.size()-1; i >= 0; i--) cout << s[i];
  return 0;
} 

Czy moze ktos mi wytlumaczyc linijka po linijce dzialanie tego programu?
Dzieki

2

cin.get() zwraca Ci znak ze strumienia
EOF to End of file, czy znak końca pliku, CTRL + Z w Windowsie.
Dopóki znak pobrany ze strumienia to nie CTRL + Z, dodajesz ten znak na koniec string'a s (na początku pustego).
Potem wypisujesz tego string'a od końca w pętli for, size() - 1 dlatego, że index'y zaczynają się od 0.

http://www.cplusplus.com/reference/istream/istream/get/

Zedytowane^^

Jednak jeśli chodziłoby o ENTER, to mogłoby to być '\n' zamiast EOF.

1 użytkowników online, w tym zalogowanych: 0, gości: 1