MFC 相关问题
void CPTADlg::OnBnClickedOpenFilePath()
{
CFileDialog fileDlg(true);
if (IDOK == fileDlg.DoModal())
{
char *pch = NULL;
CString path_str = fileDlg.GetPathName();
m_InBscFilePath = path_str;
UpdateData(0);
}
}
我想要在其中调用一个函数func(char *pFileName);把InBscFilePath字符串传进去,该怎么办?
我使用GetBuffer传到func函数的时候就只有字符串的第一个字母,这是怎么回事?
[解决办法]
m_InBscFilePath 怎么定义的?你的表达和代码对不上号
[解决办法]
unicode 编码问题。把CString转化为char *再传!
[解决办法]
就一个字符,我感觉应该是unicode的字符串buffer,传入到char*函数中,
结果unicode多余的0,被多字节判断当成了结束符
[解决办法]
2楼和3楼说的正确
楼主帖子发错区了
建议楼主了解一下UNICODE编码是怎么回事,否则文件路径有汉字的时候更让你觉得神奇
[解决办法]
要转换的是数据,不是指针
建议楼主了解一下UNICODE编码是怎么回事
[解决办法]
CString csValue; // 你自己的值
wstring wsSwap = csValue.GetString();
wchar_t wszFinal = wsSwap.c_str();
[解决办法]
猛击这里看!