char* 向 CString 类 定义的数组 转换

来源:百度知道 编辑:UC知道 时间:2024/06/22 11:16:37
ifstream ifs;
char ch[100][100]={0};
ifs.open(strPath);
for(int t=0;!ifs.eof();t++)
{
ifs.getline(ch[t],100);
}
//我从文件读取内容到ch
现在想把ch转换成CString cstr_ch[]中,该如何操作?
读取的内容里面有汉字和数字!

ifstream ifs;

CString cstr_ch[100];//add

char ch[100][100]={0};
ifs.open(strPath);
for(int t=0;!ifs.eof();t++)
{
ifs.getline(ch[t],100);

cstr_ch[t] = CString(ch);//add
}
/*我从文件读取内容到ch
现在想把ch转换成CString cstr_ch[]中,该如何操作?
读取的内容里面有汉字和数字!

//add 部分在vs2005中编译通过
*/

CString str[100];

str[0] = CString(ch[0]);
...

如果读取内容包含汉字(windows一般为unicode编码),则需要用std::wstring。

例如:
wstring myStr = wstring(ch[t]);

直接赋值,CString重载的有赋值运算符和转换构造函数。
cstr_ch[i] = (LPTSTR)ch[i]; //用强制转换运算符