Просмотр полной версии : строки в C++ срочно
Привет всем у меня такой вопрос по C++ Ксть какая небуть сандартная функция чтобы поделить строку по кусочкам например строка Имя|фамилия|Отчество|Дата и всё это разделить например на массивы.
Жалко а как можно поделить строку
Разбить вашу строку можно сишной функцией strtok библиотеки string.h
Пример использования strtok.
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
#include <iostream>
using std::cout;
using std::endl;
//////////////////////////////////////////////////////////////////////////
#include <cstring>
using std::strtok;
//////////////////////////////////////////////////////////////////////////
int main( void )
{
char sentence[] = "Name|First Name|Blabla|lalala";
char *tokenPtr;
tokenPtr = strtok( sentence, "|" );
while( tokenPtr != NULL )
{
cout << tokenPtr << endl;
tokenPtr = strtok( NULL, "|" );
}
return 0;
}
//////////////////////////////////////////////////////////////////////////
Или с помощью библиотеки С++ string:
//////////////////////////////////////////////////////////////////////////
#include <iostream>
using std::cout;
using std::endl;
//////////////////////////////////////////////////////////////////////////
#include <string>
using std::string;
//////////////////////////////////////////////////////////////////////////
int main( void )
{
string myString( "Name|First Name|Blabla|lalala" );
size_t found;
found = myString.find_first_of( "|" );
while( found != string::npos )
{
myString[ found ] = '\n';
found = myString.find_first_of( "|", found + 1 );
}
cout << myString << endl;
return 0;
}
//////////////////////////////////////////////////////////////////////////
Блин, а мне так нравилась explode из PHP
http://blog.vernart.ru/programming/cplusplus/135/
в плюсах тож не сложно, если буст юзать.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot