トークン分解

  _mbstok によるトークン分解の結果表示



これは、VBScript で記述されているので、 ,,, 等のようにデリミタが連続していても項目は省略されません

区切り文字




  上記処理を Win32 Application で実装



これは、Cの_mbstok で記述されているので、 ,,, 等のようなデリミタが連続している場合は項目が省略されます

  
LRESULT CALLBACK About( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	switch( message ) {
		case WM_INITDIALOG:
			SetDlgItemText( hDlg, IDC_EDIT2, "," );
			return TRUE;

		case WM_COMMAND:
			if( LOWORD(wParam) == IDOK || 
				LOWORD(wParam) == IDCANCEL ) {
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			if( LOWORD(wParam) == IDC_BUTTON1 ) {
				char szBuffer[128];
				char szBuffer2[128];
				unsigned char *pszToken;

				GetDlgItemText( hDlg, IDC_EDIT1, szBuffer, 128 );
				GetDlgItemText( hDlg, IDC_EDIT2, szBuffer2, 128 );
				pszToken = _mbstok(
					(unsigned char *)szBuffer,
					(const unsigned char *)szBuffer2
				);

				while( pszToken != NULL ) {
					SendMessage(
						GetDlgItem( hDlg, IDC_LIST1),
						LB_ADDSTRING,
						0L,
						(LPARAM)(LPCTSTR)pszToken
					);
					pszToken = _mbstok(
						NULL,
						(const unsigned char *)szBuffer2
					);
				}

			}
			break;
	}
	return FALSE;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ