참조 :
http://www.borlandtalk.com/extractstrings-question-vt90577.html
TStrings 사용하려면 -> #include <Classes.hpp>
int __fastcall SeparateStrings(const AnsiString &AString, char ADelimiter, TStrings *AStrings)
{
int Result = 0;
if( (AString.Length() > 0) && (AStrings) ) {
AStrings->BeginUpdate();
try
{
char *ptr = const_cast<AnsiString&>(AString).c_str();
char *end = (ptr + AString.Length());
while( (*ptr <= ' ') && (ptr < end) )
++ptr;
char *start = ptr;
bool InQuote = false;
while( ptr < end )
{
if( (*ptr == ADelimiter) && (!InQuote) )
{
AStrings->Add(AnsiString(start, ptr-start));
++Result;
start = ++ptr;
}
else if( *ptr == '"' )
{
InQuote = !InQuote;
++ptr;
}
else
++ptr;
}
if( start < end )
{
AStrings->Add(AnsiString(start, end-start));
++Result;
}
}
__finally {
AStrings->EndUpdate();
}
}
return Result;
}
'할거리 > BC' 카테고리의 다른 글
[ilink32 Error] Error: Unresolved external 'wWinMain' referenced from C0W32W.OBJ (0) | 2015.07.16 |
---|---|
BC++ Enable Debugging (0) | 2015.06.18 |
W1010 Method '%s' hides virtual method of base type '%s' (Delphi) (0) | 2015.05.29 |
Indy Send Unicode 문제 (0) | 2015.05.22 |
E2034 Cannot convert 'char const[17]' to 'const wchar_t *' (0) | 2015.05.11 |