void CTextEditDlg::OnMemuFileOpem()
{ //显示文件保存对话框
CFileDialog dlg( TRUE, _T( "txt" ), _T( ".txt" ), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, _T( "文本|*.txt|所有文件|*||" ) );
if ( dlg.DoModal() == IDOK )
return;
CString sFileName=dlg.GetPathName();//路径
CStdioFile out;
out.Open(sFileName,CFile::modeRead);//打开文件
CString strLine=(_T(""));
//读取文件
do
{out.CStdioFile(_T(""));
strLine=strLine+(_T(""(char)10;
}
while (out.ReadString(strLine));
m_MyRichEdit.SetWindowTextW(_T(""));
}
1>d:\my documents\visual studio 2005\projects\textedit\textedit\texteditdlg.cpp(176) : error C2274: “函数样式转换”: 位于“.”运算符右边时非法
1>d:\my documents\visual studio 2005\projects\textedit\textedit\texteditdlg.cpp(177) : fatal error C1057: 宏展开中遇到意外的文件结束
{ //显示文件保存对话框
CFileDialog dlg( TRUE, _T( "txt" ), _T( ".txt" ), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, _T( "文本|*.txt|所有文件|*||" ) );
if ( dlg.DoModal() == IDOK )
return;
CString sFileName=dlg.GetPathName();//路径
CStdioFile out;
out.Open(sFileName,CFile::modeRead);//打开文件
CString strLine=(_T(""));
//读取文件
do
{out.CStdioFile(_T(""));
strLine=strLine+(_T(""(char)10;
}
while (out.ReadString(strLine));
m_MyRichEdit.SetWindowTextW(_T(""));
}
1>d:\my documents\visual studio 2005\projects\textedit\textedit\texteditdlg.cpp(176) : error C2274: “函数样式转换”: 位于“.”运算符右边时非法
1>d:\my documents\visual studio 2005\projects\textedit\textedit\texteditdlg.cpp(177) : fatal error C1057: 宏展开中遇到意外的文件结束
do
{out.CStdioFile(_T(""));
strLine=strLine+(_T(""(char)10;
}
while (out.ReadString(strLine));
m_MyRichEdit.SetWindowTextW(_T(""));
}
在这!
strLine=strLine+(_T(""(char)10;
}
1. 里面的第一句是什么意思, 可以这样做么?
2. (_T(""(char)10代码好像没有写完整?
strLine=strLine+(_T(""(char)10; 这两句写得真是匪夷所思啊见所未见第一句是构造函数??不过从未见过有人这么构造的
CStdioFile out;
然后out.CStdioFile(_T("")); 这样构造?用new吧应该语法如下:CStdioFile( );
CStdioFile(
FILE* pOpenStream
);
CStdioFile(
LPCTSTR lpszFileName,
UINT nOpenFlags
);
第二句更加神奇,完全看不懂啊~~ 想加上10个空位的长度吗?+_T(" ")好了呀
CStdioFile sf;
unsigned short int feff=0xfeff;
sf.Write(&feff,sizeof(short int));
MBCS 与UNICODE 字符集的不同
这个CStdioFile 存在着不同