2006-5月-22的归档

 CStdioFile emlfile;
 emlfile.Open( "1212.eml",CFile::modeReadWrite|CFile::modeCreate);
 emlfile.Write(smsg,smsg.GetLength());
 emlfile.Close();

结果1212.eml文件用ultraedit打开的时候提示是否要转为dos格式,而且,所有的邮件浏览器都不能正常现实。后来把代码中的CFile就一切正常了,看来虽然CStdioFile是从CFile继承来的,但是Write()的调用方式也是重载过了的。

这一点从mfc源代码里面得到了证实, CStdioFile中的Open()调用的_fdopen(),而CFile的Open()调用的是::CreateFile,同样的,在Write中分别用的fwrite()和::WriteFile();

暂时就不追踪下去了,完成毕业设计要紧,等设计完了再看看底层代码吧!

Tags:

Comments 沒有留言 »