怎么在一个字符串缓冲区中存3个以\0结尾的子串

如何在一个字符串缓冲区中存3个以\0结尾的子串
CHAR*   szAttributes;
szAttributes   =   _T( "DSN=MyDSN\0 ")
_T( "ServerName=MyServerName\0 ")
_T( "UserID=MyUID\0 ");

这个我要用变量写成:
CHAR*   szAttributes;
szAttributes   =   _T( "DSN=变量1\0 ")
_T( "ServerName=变量2\0 ")
_T( "UserID=变量3\0 ");
供SQLConfigDataSource调用
怎么写?


------解决方案--------------------
TCHAR *szAttributes=(TCHAR *)LocalAlloc(LPTR, sizeof(TCHAR)*MAX_BUFFER);
LONG cb;
LPTSTR pCursor=szAttributes;
pCursor+=wsprintf(pCursor, TEXT( "DSN=MyDSN "))+1;
pCursor+=wsprintf(pCursor, TEXT( "ServerName=MyServerName "))+1;
pCursor+=wsprintf(pCursor, TEXT( "UserID=MyUID "))+1;
*pCursor=TEXT( '\0 ');

cb=pCursor-szAttributes;