BOOL GetResult(LPTSTR lpszResult,TCHAR *szError)
{
CString str = _T("这是结果内容");
TCHAR szErr[512] = {0};
sprintf_s(szErr,sizeof(szErr),_T("%s"),_T("这是错误信息"))
//...我如何把结果和错误信息回传给lpszResult和szError返回
return TRUE;
}
解决方案 »
- VC++套接字TCP通信,我的机器是双网卡的!send函数能否绑定在指定的地址和端口上后,发送数据吗?
- DrawTextEx的返回值
- 绘图
- --------------小弟愚笨,查看了MSDN,有一函数不懂,请朋友们不吝赐教--------------
- 问一个VC编辑的问题,关于长字符串换行
- 图片加载
- SkinMagic使用中的疑惑
- 急招VC技术人员5名-国内一大型软件公司
- 常见编辑器的语法分析都是怎么作的?
- WSAGetLastError返回结果10053
- 能否通过创建几个线程来处理大量的任务?让每个任务执行时从创建了的几个线程里选一个空闲的来执行任务??
- 对话框如何让线程结束时自动调用窗口关闭?
BOOL GetResult(LPTSTR lpszResult,TCHAR *szError)
{
ASSERT(lpszResult);
ASSERT(szError);
CString str = _T("这是结果内容");
TCHAR szErr[512] = {0};
sprintf_s(szErr,sizeof(szErr),_T("%s"),_T("这是错误信息"))
//...我如何把结果和错误信息回传给lpszResult和szError返回 strcpy(lpszResult,str);
wcscpy(szError,szErr);
return TRUE;
}
BOOL GetResult(LPTSTR & lpszResult,TCHAR & szError)
{
CString str = _T("这是结果内容");
TCHAR szErr[512] = {0};
sprintf_s(szErr,sizeof(szErr),_T("%s"),_T("这是错误信息")) return TRUE;
}
这样行吧
lpszResult = new TCHAR[str.GetLength() + 1];
lstrcpy( lpszResult, str );szError = new TCHAR[str.GetLength() + 1];
lstrcpy(szError, str ); delete lpszResult;
delete szError;
要由调用方分配内存,只传个指针是不行的如
TCHAR result[512];
TCHAR error[512];GetResult(result,error);
bool GetResult(LPTSTR lpszResult,TCHAR *szError)
{
CString str = _T("这是结果内容");
TCHAR szErr[512] = {0};
sprintf_s(szErr,sizeof(szErr),_T("%s"),_T("这是错误信息"));
szError = szErr;
sprintf_s(lpszResult,sizeof(lpszResult),_T("%s"),str.GetBuffer());
return true;
}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR szResult[512] = {0};
TCHAR szError[512] = {0};
GetResult(szResult,szError);
cout<<szResult<<endl<<szError<<endl;
return 0;
}这样也不行,sprintf_s这里会出现一个断言错误
bool GetResult(LPTSTR lpszResult,TCHAR *szError)
{
CString str = _T("这是结果内容");
//sprintf_s(szError,sizeof(szError),_T("%s"),_T("这是错误信息"));
//sprintf_s(lpszResult,sizeof(lpszResult),_T("%s"),str.GetBuffer()); memcpy_s(szError,sizeof(szError),_T("这是错误信息"),strlen(_T("这是错误信息"))+1);
memcpy_s(lpszResult,sizeof(lpszResult),str.GetBuffer(),str.GetLength()+1);
return true;
}ASSERT(FALSE)
memcpy_s error!
Express:sizeInBytes > count
_stprintf_s
_tcscpy(szError,szErr);