Przejdź do głównej zawartości

Podział stringa [getline]

Funkcja getline może przyjmować trzy parametry: źródło, element docelowy i znak, do który ma przerwać odczytywanie danych.

Gdy program będzie wyglądał tak:


#include <iostream>
 
using namespace std;
 
int main() {
string s;
while(getline(cin, s, '-')){
    cout << s << endl;
}
 
return 0;
}


a na wejściu otrzymamy:

12-05-2011

to wynikiem działania naszego programu będzie:


12
05
2011

Wykorzystam teraz tę właściwość funkcji getline by podzielić otrzymany ciąg znaków. Miejscem cięcia będzie określony znak. Efektem podziału będzie odpowiedni vector:


#include <iostream>
#include <vector>
#include <sstream>
 
using namespace std;
 
int main() {
    string s = "12-05-2013";
    vector <string> el;
    stringstream ss(s);
    string item;
    while (getline(ss, item, '-')) {
        el.push_back(item);
    }
    for(int i=0;i<3;i++)
    {
        cout << el[i];
        if(i<2)
            cout << ".";
    }
    return 0;
}


Wynik działania powyższego kodu:

12.05.2013




Popularne posty z tego bloga

[C++]Konwersja systemu dziesiętnego na binarny [dec2bin, dec2u2]

Konwersja między systemami liczbowymi była już poruszana w tym serwisie tym razem zajmę się kodem U2. Inaczej zwany uzupełnieniem do 2. Opis tego systemu pojawił się w kontekście wstępu do programowania w języku Python [ tutaj ]. Prosty program tzw. szkolny zamiany nieujemnej liczby dziesiętnej na jej postać binarną: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <iostream> using namespace std; int main () { int liczba; cin >> liczba; string wynik; while (liczba){ wynik = (liczba % 2 ? "1" : "0" ) + wynik; liczba /= 2 ; } cout << wynik; return 0 ; } Poniżej prezentuję kod programu, który zawiera trzy metody rozwiązania problemu jakim jest wyświetlenie użytkownikowi reprezentacji u2 podanej przez niego liczby dziesiętnej. Pierwsza z nich wywodzi się z typowego algorytmu konwersji systemu dec do u2: 1. przedstaw bezwzględną wartość liczby dziesiętnej w postaci binarnej, 2. dodaj na początek

Python - lekcja 005

Spis treści - zamiana całkowitych liczb dziesiętnych na ich odpowiedniki w innych systemach liczbowych (algorytm), - ujemne liczby całkowite w systemie binarnym (ZM, U1, U2, algorytm, formatowanie stringów, rzutowanie ze zmianą systemu liczbowego) [dec2bin, dec2ZM, dec2U1, dec2U2] - zadania.