13,825
社区成员
发帖
与我相关
我的任务
分享
UnicodeString tmp;
TStringList *list=new TStringList;
TStringList *buflist=new TStringList;
list->Delimiter = ')',';','(',' ';
list->DelimitedText = "Config(buf);";
tmp = list->Strings[0];
tmp = list->Strings[1];
UnicodeString str = L"ABC(edf)#te,0x54,) trest";
WCHAR wsz[5][128];
memset(wsz, 0x0, sizeof(wsz));
int n = swscanf(str.c_str(), L"%[^(](%[^)])#%[^,],%[^,],) %s", wsz[0], wsz[1], wsz[2], wsz[3], wsz[4]);
if (n == 5)
{
for (int i = 0; i < 5; i++)
{
Memo1->Lines->Add(wsz[i]);
}
}
else
{
ShowMessage("分解失败!");
}
void __fastcall TForm16::Button1Click(TObject *Sender)
{
UnicodeString tmp;
TStringList *list = new TStringList;
TStringList *buflist = new TStringList;
list->Text = "ABC(edf)#te,0x54,) trest";
TSysCharSet Separators, WhiteSpace;
Separators << '(' << ')'<<','<<' '<<'#';
ExtractStrings(Separators, WhiteSpace, list->Text.c_str(), buflist);
tmp = buflist->Strings[0];
tmp = buflist->Strings[1];
delete list;
delete buflist;
}
ExtractStrings 分解不了,得到的还是原来未分解的字符串
UnicodeString str = L"Config(buf);";
WCHAR wsz1[256], wsz2[256];
memset(wsz1, 0x0, sizeof(wsz1));
memset(wsz2, 0x0, sizeof(wsz2));
swscanf(str.c_str(), L"%[^(](%[^)]);", wsz1, wsz2);
ShowMessage(wsz1);
ShowMessage(wsz2);
void __fastcall TForm16::Button1Click(TObject *Sender)
{
UnicodeString tmp;
TStringList *list = new TStringList;
TStringList *buflist = new TStringList;
list->Text = "Config(buf);";
TSysCharSet Separators, WhiteSpace;
Separators << '(' << ')';
ExtractStrings(Separators, WhiteSpace, list->Text.c_str(), buflist);
tmp = buflist->Strings[0];
tmp = buflist->Strings[1];
delete list;
delete buflist;
}