C++Builder  |  Delphi  |  Kylix  |  Turbo-C  |  .NET  |  JBuilder  |  Together  |  FireBird
C++Builder Programming Forum º¼·£µåÆ÷·³ BorlandForum
 °æ°í! °Ô½Ã¹° ÀÛ¼ºÀÚÀÇ »çÀü Çã¶ô¾ø´Â ¸ÞÀÏÁÖ¼Ò ÃßÃâÇàÀ§ Àý´ë ±ÝÁö
C++ºô´õ Æ÷·³
Q & A
FAQ
ÆÁ&Æ®¸¯
°­ÁÂ/¹®¼­
ÀÚ·á½Ç
ÄÄÆ÷³ÍÆ®/¶óÀ̺귯¸®
¸Þ½ÅÀú ÇÁ·ÎÁ§Æ®
º¼·£µåÆ÷·³ Ȩ
Çìµå¶óÀÎ ´º½º
IT ´º½º
°øÁö»çÇ×
ÀÚÀ¯°Ô½ÃÆÇ
ÇØÇÇ ºê·¹ÀÌÅ©
°øµ¿ ÇÁ·ÎÁ§Æ®
±¸ÀÎ/±¸Á÷
ȸ¿ø ÀåÅÍ
°ÇÀÇ»çÇ×
¿î¿µÁø °Ô½ÃÆÇ
ȸ¿ø ¸Þ´º
ºÏ¸¶Å©
º¼·£µåÆ÷·³ ±¤°í ¸ðÁý

C++ºô´õ °­ÁÂ/¹®¼­
C++Builder Programming Tutorial&Docments
[200] [Boost »ìÆìº¸±â] 8. Tokenizer
Lyn [tohnokanna] 1881 ÀÐÀ½    2009-06-10 16:13
¿øº»Ãâó : http://lunapiece.net/Article/3870

Tokenizer ´Â ¸» ±×´ë·Î Token ´ÜÀ§·Î ¹®ÀÚ¿­À» Âɰ³´Â ±â´ÉÀ» ÇÑ´Ù.
ÅäÅ«Àº »çÀü»óÀÇ Àǹ̷δ ¹ö½ºÅ»¶§ ³»´Â µ¿Àü ºñ½ÁÇÑ°Í (....) °ú "Àǹ̸¦ °®´Â ÃÖ¼ÒÇÑÀÇ ¹®ÀÚ¿­" ÀÇ Àǹ̸¦ °®´Â´Ù. ´ç¿¬È÷ ¿©±â¿¡¼­´Â ÈÄÀÚÀÇ Àǹ̴Ù.

c ¶óÀ̺귯¸®¿¡¼­´Â strtok ÀÌ Á¦°ø µÇÁö¸¸ ÀÌ´Â thread ¿¡¼­ »ç¿ë ÇÒ ¼ö ¾ø´Ù(Àü¿ªº¯¼ö¸¦ »ç¿ë Çϱ⠶§¹®¿¡)
VCL ¿¡¼­´Â TStringList °¡ ºñ½Á ÇÑ ±â´ÉÀ» Á¦°ø Çϰí MFC¿¡¼­µµ ±â¾ïÀº ¾È³ªÁö¸¸ (...) ºñ½ÁÇÑ ±â´ÉÀ» Á¦°ø ÇÑ´Ù.

¹¹ Ç×»ó À̾߱â ÇÏ´Â °ÅÁö¸¸ boost ´Â Ç÷§ÆûÀ» °¡¸®Áö ¾Ê´Â ´Ù´Â °Í ¸¸À¸·Îµµ ÃæºÐÇÑ °¡Ä¡°¡ ÀÖ´Ù : )
±×·³ °£´ÜÇÏ°Ô »ç¿ë ¿¹Á¦¸¸ º¸µµ·Ï ÇÏÀÚ.

ù¹øÂ° ¿¹Á¦ ¼Ò½º ³ª°£´Ù.

#include<boost/tokenizer.hpp>
#include<string>
#include<iostream>

using namespace std;
using namespace boost;

typedef tokenizer<char_separator<char> > TOKC;
int main(int argc, _TCHAR* argv[])
{
    string BorlandUser = "Lyn/Yull/TestCode/Imp//bkyang/4000king/RyuJT/gilgil/esniper/civilian";   
    char_separator<char> sep("/","");   
   
    TOKC tok(BorlandUser, sep);   

    for (TOKC::iterator i = tok.begin(); i != tok.end(); ++i)
    {
        cout << *i << endl;
    }
    return 0;
}

¹®ÀÚ¿­À» '/' ´ÜÀ§·Î Âɰ³±â·Î ÇÏÀÚ.

±×·³ °á°ú´Â 1.png ¿Í °°´Ù.

Àß Âɰ³  º´Ù. ±×·±µ¥ ÇѰ¡Áö ÁÖÀÇÇØ¼­ º¼ Á¡ÀÌ Àִµ¥ ºó ÅäÅ«Àº ³ªÅ¸³ªÁö ¾Ê´Â ´Ù´Â °ÍÀÌ´Ù.
ºó ÅäÅ«µµ »ì¸®±â À§Çؼ­´Â separator ÀÇ »ý¼ºÀÚ¿¡ keep_empty_tokens ¿É¼ÇÀ» ÁÖ¸é µÈ´Ù.

µÎ¹øÂ° ¿¹Á¦¸¦ º¸ÀÚ
#include<boost/tokenizer.hpp>
#include<string>
#include<iostream>

using namespace std;
using namespace boost;

typedef tokenizer<char_separator<char> > TOKC;
int main(int argc, _TCHAR* argv[])
{
    string BorlandUser = "Lyn/Yull/TestCode/Imp//bkyang/4000king/RyuJT/gilgil/esniper/civilian";   
    char_separator<char> sep("/","", keep_empty_tokens);   
   
    TOKC tok(BorlandUser, sep);   

    for (TOKC::iterator i = tok.begin(); i != tok.end(); ++i)
    {
        cout << *i << endl;
    }
    return 0;
}


2.png ¿¡¼­ ºó ÅäÅ«µµ ±¸ÇØÁø °ÍÀ» º¼ ¼ö ÀÖ´Ù : )
Âü¿©ÇØ ÁֽŠº¼·£µå(ÄÚµå±â¾î? ¿¥¹ÙÄ«µ¥·Î?) À¯ÀúºÐ¿¡°Ô ½É½ÉÇÑ °¨»ç¸¦ Ç¥Çϸ鼭 ³¡³»°Ú´Ù (__)
À̰湮 [gilgil]   2009-08-15 22:39 X
³ªµµ ÀÖ³×, ¤»¤»¤»
ÃÊ»ó±Ç ³»¼À~ ^^

+ -
ÀÌÀü±Û:  ¿¬»êÀÚ new ÀÇ Áø½Ç
´ÙÀ½±Û:  [Boost »ìÆìº¸±â] 7. String Algorithm2

°ü·Ã ±Û ¸®½ºÆ®
200 [Boost »ìÆìº¸±â] 8. Tokenizer Lyn 1881 2009-06-10
Google
Copyright © 2008, borlandforum.com. All right reserved.