Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] разбить строку


Автор: OPQ 20.4.2007, 19:55
Погите разбить строку на части, разделенные ','
Например s = "asdf, ldffmdms,sdg
s1 = "asdf"
s2 = "ldffmdms"
s3 = "lsdg"

Автор: codelord 20.4.2007, 20:09
посмотри там это есть
http://forum.vingrad.ru/forum/topic-146990.html

Автор: NightmareZ 22.4.2007, 00:35
Цитата(OPQ @ 20.4.2007,  19:55)
Погите разбить строку на части, разделенные ','
Например s = "asdf, ldffmdms,sdg
s1 = "asdf"
s2 = "ldffmdms"
s3 = "lsdg"

Код

#include <iostream>
#include <list>

void main()
{
    std::string s = "asdf, ldffmdms,sdg", s1;
    std::list<std::string> arr;

    for (int i = 0; i < (int)s.length(); i++)
        if ((s[i] == ' ') || (s[i] == ','))
        {
            if (s1.length() > 0)
            {
                arr.push_back(s1);
                s1 = "";
            }
        }
        else
            s1 += s[i];

    if (s1.length() > 0) arr.push_back(s1);

    for (std::list<std::string>::iterator i = arr.begin(); i != arr.end(); i++)
        std::cout << (*i).c_str() << std::endl;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)