2013-06-11 25 views
6

Załóżmy, że mamy ciąg w stylu C w C++ w formacie [4 letters] [number] [number] .... Na przykład ciąg może wyglądać następująco:C++ - wyodrębnij liczby z ciągu znaków

abcd 1234 -6242   1212 

Należy zauważyć, że sznur ma za dużo spacji (jak widać powyżej).

Jak wyodrębnić te trzy liczby i zapisać je w tablicy?

+0

myślę, że trzeba polegać na użyciu spacji jako ograniczników –

+0

@ user2064000 w odpowiedzi na "zastrzeżenia" poruszone w komentarzach w mojej odpowiedzi, proponuję spojrzeć na prawą stronę tego ekranu i śledzić niektóre z "powiązanych" linków ... – sehe

Odpowiedz

11

Zadanie dla stringstreams, zobaczyć go na żywo: http://ideone.com/e8GjMg

#include <sstream> 
#include <iostream> 

int main() 
{ 
    std::istringstream iss(" abcd 1234 -6242   1212"); 

    std::string s; 
    int a, b, c; 

    iss >> s >> a >> b >> c; 

    std::cout << s << " " << a << " " << b << " " << c << std::endl; 
} 

Drukuje

abcd 1234 -6242 1212 
+6

@phresnel Cóż, wiesz ... jestem nie nowy aroun d tutaj. Niektórzy uczą się tak czy inaczej. Mogę ci zagwarantować, że (a) chętni uczniowie *** dostaną ważne wskazówki od tej odpowiedzi (b) ludzie, którzy tego nie zrobią, nie "dostaną" z odpowiedzi _educational_. Krótko mówiąc, Stackoverflow nie służy do nauczania tekstów książkowych. Chodzi o to, aby odpowiedzieć na wolontariat, aby uwolnić innych programistów/podzielić się doświadczeniami. _Usłoń, aby zignorować zarówno pytanie, jak i odpowiedź, jeśli to nie jest twoja filiżanka herbaty. Dziękujemy – sehe

+1

@ not-sehe: Punkt zaczerpnięty, miałem nadzieję, że możesz dodać co najmniej kilka wyjaśnień, ale twój ostatni komentarz nie jest zły . (komentarz: usunąłem moje komentarze) –

Powiązane problemy