2015-10-08 3 views
-2

Я новичок в C++ и хочу узнать, как разбирать строку с разделителем.Разбор строки в C++ с использованием разделителя

экс Строка: «Джонатан 50 60000»

Я хочу, чтобы разобрать эту строку, используя (пробел) в качестве разделителя затем берут содержимое и делать простые расчеты.

Любая помощь будет оценена!

+0

Вы можете использовать строковые потоки для этого. – yizzlez

+0

sscanf(). Что еще нужно и почему? –

+0

@ A.S.H, пожалуйста, не продвигайте плохой стиль. 'sscanf()' является C-стилем и имеет множество проблем, таких как, например, плохой тип безопасность. Предположим, что на родные C++-решения, такие как 'std :: sregex_iterator',' std :: istringstream', 'boost :: tokenizer',' boost :: split() 'и т. Д. – cdonat

ответ

-3
#include <string.h> 
char *strtok(char *str, const char *delim); 

strtok() функция разбивает строку в последовательность из нуля или более непустых маркеров. При первом вызове strtok() строка, которая должна быть , должна быть указана на str. В каждом последующем вызове, который должен разобрать ту же строку, str должен быть NULL.

Аргумент delim указывает набор байтов, которые ограничивают токены в анализируемой строкой. Вызывающий может указывать разные строки в delim в последовательных вызовах, которые анализируют одну и ту же строку.

Источник: http://man7.org/linux/man-pages/man3/strtok.3.html

+2

'string.h' в C++? Зачем? – yizzlez

+0

, пожалуйста, не продвигайте плохой стиль. – cdonat

+0

Это не C! Это Спарта! er ... Это C++! – user4581301