2013-06-11 3 views
6

Предположим, что у нас есть строка стиля C в C++ в формате [4 letters] [number] [number] .... Например, строка может выглядеть следующим образом:C++ - вывести числа из строки

abcd 1234 -6242   1212 

Следует отметить, что строка, как ожидается, иметь слишком много пробелов (как показано выше).

Как извлечь эти три числа и сохранить их в массиве?

+0

Я думаю, что вы должны полагаться на использование пространства в качестве разделителей –

+0

@ user2064000 в ответ на «Возражения», поднятые в комментариях по моему ответу, я бы предложил вам посмотреть на правую сторону этого экрана и следовать некоторым связанным ссылкам ... – sehe

ответ

11

Задание для stringstreams, увидеть его вживую: 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; 
} 

Печать

abcd 1234 -6242 1212 
+6

@phresnel Ну, вы знаете ... Я не новый aroun d здесь. Некоторые люди учатся в любом случае. Я могу гарантировать вам, что (а) нетерпеливые ученики *** будут получать важные указания от этого ответа (б) люди, которые этого не делают, не будут «получать» ответ от _educational_ ответа. Короче говоря, Stackoverflow не предназначен для обучения в текстовом режиме. Речь идет о добровольческих ответах, чтобы отклеить других программистов/поделиться опытом. _Возможно игнорировать и вопрос, и ответ, если это не ваша чашка tea._ Спасибо – sehe

+1

@ not-sehe: Точка, я надеялся, что вы можете добавить хотя бы некоторые объяснения, но ваш последний комментарий не ошибается , (sidenote: я удалил свои комментарии) –

Смежные вопросы