你經常會需要這樣的函式:
把字符串:
"字段一,字段二,...字段N"
(逗號分隔開)
中的字段分別讀取到字符串
Field_1、Field_2...Field_N中,咋辦?用如下這樣一個函式吧~




































































說明:
BOOL GetField(TCHAR *wLine, unsigned char FieldN, TCHAR **FieldArray)
此為寬字符處理版。
wLine:字符串指針;
FieldN:字段個數;
FieldArray:字符串指針數組。
函式會將wLine中的第一個字段放到FieldArray[0]所指向的字符串中,把第二個字段放到FieldArray[1]所指向的字符串中,以此類推。
使用示例:





#include <functions.h>


int _tmain(int argc, _TCHAR* argv[])

...{
_tprintf(_T("開始... "));

#ifdef UNICODE
_tprintf(_T("定義了UNICODE "));
#endif
#ifdef _UNICODE
_tprintf(_T("定義了_UNICODE "));
#endif
printf("%d ", sizeof(TCHAR));
TCHAR wSample[] = L"字段一,字段二,,字段四,,";
_tprintf(_T("wSample=%s "), wSample);
unsigned char FieldN = 6;

TCHAR wField_1[10] = ...{0};

TCHAR wField_2[10] = ...{0};

TCHAR wField_3[10] = ...{0};

TCHAR wField_4[10] = ...{0};

TCHAR wField_5[10] = ...{0};

TCHAR wField_6[10] = ...{0};

TCHAR *FieldArray[6] = ...{wField_1, wField_2, wField_3,
wField_4, wField_5, wField_6};

if(GetField(wSample, FieldArray, FieldN) == TRUE)

...{
_tprintf(_T("wField_1=%s "), wField_1);
_tprintf(_T("wField_2=%s "), wField_2);
_tprintf(_T("wField_3=%s "), wField_3);
_tprintf(_T("wField_4=%s "), wField_4);
_tprintf(_T("wField_5=%s "), wField_5);
_tprintf(_T("wField_6=%s "), wField_6);
}
else

...{
_tprintf(_T("GetField()失敗! "));
}
_tprintf(_T(" 結束。 "));
return 0;
}

























































輸出:
wField_1=字段一
wField_2=字段二
wField_3=
wField_4=字段四
wField_5=
wField_6=