阅读:1365回复:4
一段逐行邪入文本文件的代码在dlg测试通过,view中编译错误
UpdateData(TRUE);
int nCount=m_EditWriteData.GetLineCount();//获得行数 char szLine[200]; for(int i=0;i<nCount;i++) { // CString strText, strLine; // m_EditWriteData.GetLine(i, strText.GetBuffer(m_EditWriteData.LineLength(i))); // AfxMessageBox(strText); // strText.ReleaseBuffer(); //// strLine.Format(TEXT(\"line %d: \'%s\'\\r\\n\"), i, strText.GetBuffer(0)); // strLine.Format(TEXT(\"\'%s\'\\r\\n\"), strText.GetBuffer(0)); // file.Seek(0,CFile::end); // file.WriteString(strLine); // AfxMessageBox(strLine); //第i行的长度 int nLenth = m_EditWriteData.LineLength( m_EditWriteData.LineIndex( i ) ); //获得第i行的字符串 m_EditWriteData.GetLine( i,szLine,nLenth ); szLine[nLenth] = 0; //将第i行写入文件 CString str; str.Format(\"%s\\r\\n\",szLine); file.Seek(0,CFile::end); file.WriteString( str ); error C2664: \'int __thiscall CEdit::GetLine(int,unsigned short *,int) const\' : cannot convert parameter 2 from \'char [200]\' to \'unsigned short *\' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast error C2664: \'void __cdecl CString::Format(const unsigned short *,...)\' : cannot convert parameter 1 from \'char [5]\' to \'const unsigned short *\' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast |
|
沙发#
发布于:2005-03-23 12:43
只是类型不匹配,VC要求较严格,
检查一下你的代码,如果没有什么错误, 可以直接进行强制转换即可 |
|
|
板凳#
发布于:2005-03-23 14:32
代码是没什么问题的。关键忘记了自己使用了unicode.
|
|
地板#
发布于:2005-03-23 18:00
那就要在定义时使用T,包含tchar.h
定义UNICODE和_UNICODE |
|
|
地下室#
发布于:2005-03-24 08:10
是啊,一直加的有的,只是用的时候忘记了
分数昨天已经给出,不知道收到没有 |
|