Функция разбита в C ++? [Дубликат]

0

Дубликат

Есть ли функция в c++, которая делает то же самое, что функция split в C?

Я написал этот код

std::string str[] =line.split(";");

Но вызов раскола не распознается.

  • 1
    Какая line ? Есть QString::split() .
  • 0
    std :: string line;
Теги:
qt
split

3 ответа

2
Лучший ответ

Похоже, вам нужно решение qt:

#include <QStringList>
//...

QStringList L = line.split( ";" , QString::SkipEmptyParts );
//                                 ^^^^^^^^^^^^^^optional
  • 0
    Да, кто-то, кто помечен тэдом :) А если я не хочу пропустить пустую часть?
  • 1
    @EvansBelloeil это необязательно
1

В C++ такой стандартной функции нет. Вы можете использовать следующий подход.

#include <iostream>
#include <sstream>
#include <vector>
#include <string>

//,,,


std::istringstream is( line );
std::vector<std::string> v;

std::string item;
while ( std::getline( is, item, ';' ) ) v.push_back( item ); 
1

Да, есть функция разделения. См.: Http://qt-project.org/doc/qt-4.8/qstring.html#split в качестве ссылки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню