1》返回CString*
2》 定义函数 int GetString(char* lpszString, int iBufferLen);
3》 返回BSTR
2》 定义函数 int GetString(char* lpszString, int iBufferLen);
3》 返回BSTR
解决方案 »
- 如何调用其他类的绘图方法在ondraw()中实现绘图功能
- 终于薪水上10K了,散分200
- VC有没有在屏幕寻找颜色获得坐标的函数
- 如何将RTF流数据写入RichEdit?
- 程序编译到AfxWinMain就显示警告信息
- 一个串口通信的简单问题,麻烦各位看看
- CTreeCtrl相关问题!
- 怎么提取VC中的注释信息...,有点难度的哦..
- 执行SQL时提示:操作必须使用一个可更新的查询。郁闷
- 我创建了一个ATL/COM的服务Service,但是,如何调用?
- 使用MessageBox("ddd","ddd",MB_OK);编译错误:''MessageBoxA'' : function does not take 3 parameters,怎么解决?
- 找到CSDN改版后的一个BUG
不好意思,我对 VC 里的字符串操作不太熟,但又要老用到:(
我觉得干脆这样
CString *pstrReturn = new CString("temp");
return LPVOID(pstrReturn);然后在调用方
CString *pstrString = (CString *) lpvReturn;
delete pstrString;
CString DoString(CString const strString)
{
return (strString);
}
调动的程序里的函数:
{
CString strName, strResult;
typedef CString StringFunc(CString const strString); HINSTANCE hDLL;
EncryptFunc *DoString;
hDLL = LoadLibrary("DoString");
if (hDLL != NULL)
{
DoString = (StringFunc *)GetProcAddress(hDLL, "DoString");
strName = "Songbai";
strResult = DoString(strName);
AfxMessageBox(strResult);
FreeLibrary(hDLL);
}
}
也可能是VC的Bug,装个VSSP5试一试看!!
在DLL的导出函数中,函数参数不能为数组
如:
DWORD DoString(CByteArray aByte)
{
return 0L;
}
调试跟踪到return后的大括号时就出错(估计也是析构的问题)
但这个函数放到DLL外部后执行得析构都没有问题
我以前也用过,后来不用CString,改用char*了
{
while (*in != '\0')
{
char szByte[32] = "";
sprintf(szByte, "%02x", (*in ^ 101) & 0xff);
strcat(out, szByte);
in ++;
}
return true;
}好啦,各位,怪我,是一个没有帖上来的句子错了,是那句 sprintf