请问如何把CString字符串转为char字符串?
还有就是
CFile txtfil;
txtfil.Open("Text.txt",CFile::modeWrite);
CString strfil;
strfil = EditVal;// EditVal是个CString字符串。
txtfil.Write(strfil,30);
为什么打开Text.txt一看输出的是乱码呢?
请高手指教。
还有就是
CFile txtfil;
txtfil.Open("Text.txt",CFile::modeWrite);
CString strfil;
strfil = EditVal;// EditVal是个CString字符串。
txtfil.Write(strfil,30);
为什么打开Text.txt一看输出的是乱码呢?
请高手指教。
CString oldstr="12345678";
char newstr[10];
strcpy(newstr,oldstr.GetBuffer(oldstr.GetLength()));
2)将txtfil.Write(strfil,30)改为:
txtfil.Write(strfil.GetBuffer(strfil.GetLength()),strfil.GetLength());
CString str2;str2="okok";for(int i=0;i<str2.GetLength();i++)
{
str[i]=str2[i];
}
str[i]='\0';
strncpy(char_m,str,sizeof(char_m));
2
str.GetBuffer()
str.ReleaseBuffer()
配合可以把str当作字符数组使用
CString EditVal = "Hei, Bill.Gate is a Foolish man!"; //测试用的
txtfil.Open("Text.txt",CFile::modeWrite); //确定Text.txt已建立
char sBuf[50];
int nLength = EditVal.GetLength();
lstrcpy(sBuf, EditVal.GetBuffer(nLength) );
txtfil.Write(sBuf, nLength + 1); //加上最后的结束符\0
//你错在此,Write的第一个参数必须有buffer,CString不是buffer,参看MSDN
txtfil.Close();
EditVal.ReleaseBuffer(); //用了GetBuffer要用ReleaseBuffer
>>不过还是出现乱码
你是不是用了中文串。