std::cin - sprawdzanie co się pod nim kryje
Ostatnio zmodyfikowano 2017-04-01 12:37
Qabrix Temat założony przez niniejszego użytkownika  | 
» 2017-04-01 06:29:19 Czy mógłbyś jeszcze tylko mi wytłumaczyć mechanizm czyszczenia spacji? Albo przynajmniej zasugerować, czego powinienem poszukać w internecie (nie wiem jak działa .begin(), .end(), auto, (* it) przy isspace. I przy okazji w sumie getline  getline( iss >> tab[ 0 ], tab[ 1 ] ); Czemu nie mogę zapisać np tak?  getline( iss >> tab[ 0 ], tab[ 1 ], tab[ 2 ] ); , gdybym chciał zapisać 3 elementy.  | 
 | 
carlosmay  | 
» 2017-04-01 09:28:46  | 
 | 
j23  | 
» 2017-04-01 10:40:22 | Czemu nie mogę zapisać np tak?  |  
 Dziwne pytanie. Nie możesz tak zapisać, bo funkcja przyjmuje trzy parametry o określonych znaczeniach - strumień, string, delimiter (opcjonalnie).  | 
 | 
Qabrix Temat założony przez niniejszego użytkownika  | 
» 2017-04-01 10:49:28 Dzięki carlosmay, już wszystko jasne. A co do tego getline w sumie nie do końca zrozumiałem ten zapis  getline( iss >> tab[ 0 ], tab[ 1 ] ); bo normalnie (przy podstawach) uczyłem się, że struktura getline wygląda tak  getline( std::cin, zmienna );  więc do końca nie wiem w jaki sposób ten nowy zapis działa (w jaki sposób wykrywa spację i wszystko po niej zapisuje do drugiego elementu tablicy, oraz dlaczego przy takim zapisie:  getline( iss >> tab[ 0 ], tab[ 2 ] );  zapisze wszystko po spacji do trzeciego elementu tablicy, a drugi pominie).  | 
 | 
Monika90  | 
» 2017-04-01 12:37:55 getline( iss >> tab[ 0 ], tab[ 1 ] );
  iss >> tab[ 0 ]; getline( iss, tab[ 1 ] );
  Obydwa zapisy znaczą to samo (choć nie zawsze tak będzie). Ten drugi jest lepszy.  | 
 | 
| 1 2 « 3 »  |