虚心问问李子勋cst2009安装后出现 0x...

电脑出现蓝屏代码是0xxF79EE524,0xCxx谁告诉我解决方法
电脑出现蓝屏代码是0xxF79EE524,0xCxx谁告诉我解决方法
有几种可能:
【散热不良】
显示器、电源和CPU在工作中发热量非常大,因此保持良好的通风状况非常重要,如果显示器过热将会导致色 彩、图象失真甚至缩短显示器寿命。工作时间太长也会导致电源或显示器散热不畅而造成电脑死机。CPU的散热是关系到电脑运行的稳定性的重要问题,也是散热故障发生的“重灾区”。
【移动不当】
在电脑移动过程中受到很大振动常常会使机器内部器件松动,从而导致接触不良,引起电脑死机,所以移动电 脑时应当避免剧烈振动。
【灰尘杀手】
机器内灰尘过多也会引起死机故障。如软驱磁头或光驱激光头沾染过多灰尘后,会导致读写错误,严重的会引 起电脑死机。
【设备不匹配】
如主板主频和CPU主频不匹配,老主板超频时将外频定得太高,可能就不能保证运行的稳定性,因而导致频繁 死机。
WINDOWS在系统不当操作或者系统崩溃的时候会自动重新启动,蓝屏是系统为重启的原因和错误的地方作解释,接下来系统会自动运行CHECK工具来修正这些问题,所以这个问题不必特别处理,只需要在恢复后注意操作就可以了电脑出现蓝屏,软件和硬件的可能性都有,并不仅仅是硬盘出现坏道而引起的。软件方面,您可以用最新的杀毒软件扫描是否有病毒,如果最近安装了新版本的驱动程序,恢复成原来使用正常的版本,问题没有解决则可以重装系统。硬件方面,如果您超频了,那就先恢复硬件默认的频率;然后检查散热是否有问题,因为硬件过热会引起数据读取和传输错误;接下来就是用替换法检查是哪个部件的问题了,其中内存的嫌疑是最大的。
预防电脑蓝屏应该注意以下几点:定期对重要的注册表文件进行手工备份;尽量避免非正常关机,减少重要文件的丢失;对普通用户而言,只要能正常运行,就不要升级显卡、主板的BIOS和驱动程序;定期检查优化系统文件,运行“系统文件检查器”进行文件丢失检查及版本校对。 ◇解决方案: (1)使用Windows安装光盘进行修复安装; (2)如果还能进入安全模式, 可以\\"开始--&运行\\": sfc /scannow (3)还可以采用提取文件的方法来解决, 进入\\"故障恢复控制台\\", 使用copy或expand命令从光盘中复制或解压受损的文件. 不过,蓝屏一般都是驱动程序文件的问题, 所以expand命令会用的都一些, 比如:蓝屏中提示tdi.sys文件,因为驱动文件一般在i386\\driver压缩包里, 所以使用: expand %CDROM:\\i386\\driver.cab\\f:tdi.sys c:\\winnt\\system\\drivers.(xp为expand%CDROM:\\i386\\driver.cab \\f:tdi.sys c:\\windowns\\system\\drivers) 如果启动时出现这些蓝屏停机码 如果在Windows启动时出现蓝屏, 并出现附表一中的错误信息, 那么多半时硬件出现了问题, 请用硬件厂商提供的诊断工具来判断硬件是否存在问题,并到其网站查看是否有最新的BIOS或固件更新程序. 如果硬件没有问题, 重装Windows 2K/XP, 若相同问题还是出现,就只能求助专业的技术支持了. 如果遇到的时附表二中的错误信息, 也只有重装Windows了, 如果不能解决问题, 建议求救专业的技术支持. 1.故障检查信息 ***STOP 0xxCxFDE38AF9,0xx7E8B0EB4) KMODE_EXCEPTION_NOT_HANDLED *** 其中错误的第一部分是停机码(Stop Code)也就是STOP 0x0000001E, 用于识别已发生错误的类型,错误第二部分是被括号括起来的四个数字集, 表示随机的开发人员定义的参数(这个参数对于普通用户根本无法理解,只有驱动程序编写者或者微软操作系统的开发人员才懂). 第三部分是错误名. 信息第一行通常用来识别生产错误的驱动程序或者设备.这种信息多数很简洁, 但停机码可以作为搜索项在微软知识库和其他技术资料中使用.
2.推荐操作 蓝屏第二部分是推荐用户进行的操作信息. 有时, 推荐的操作仅仅是一般性的建议(比如: 到销售商网站查找BIOS的更新等); 有时, 也就是显示一条与当前问题相关的提示. 一般来说, 惟一的建议就是重启.
3.调试端口告诉用户内存转储映像是否写到磁盘商了, 使用内存转储映像可以确定发生问题的性质, 还会告诉用户调试信息是否被传到另一台电脑商, 以及使用了什么端口完成这次通讯. 不过, 这里的信息对于普通用户来说, 没有什么意义. 有时保卫科可以顺利的查到是哪个生产小组的问题, 会在第一部分明确报告是哪个文件犯的错, 但常常它也只能查个大概范围, 而无法明确指明问题所在.由于工厂全面被迫停止, 只有重新整顿开工, 有时, 那个生产小组会意识到错误 , 不再重犯. 但有时仍然会试图哄抢零件,于是厂领导不得不重复停工决定(不能启动并显示蓝屏信息, 或在进行相同操作时再次出现蓝屏).
出现蓝屏后的九个常规解决方案 Windows 2K/XP蓝屏信息非常多, 无法在一篇文章中全面讲解, 但他们产生的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等, 因此首先为大家提供了一些常规的解决方案, 在遇到蓝屏错误时, 应先对照这些方案进行排除.
1.重启 有时只是某个程序或驱动程序一时犯错, 重启后他们会改过自新.(注意:此时参见7.查询停机码)
2.新硬件 首先, 应该检查新硬件是否插牢, 这个被许多人忽视的问题往往会引发许多莫名其妙的故障. 如果确认没有问题, 将其拔下, 然后换个插槽试试,并安装最新的驱动程序. 同时还应对照微软网站的硬件兼容类别检查一下硬件是否与操作系统兼容. 如果你的硬件没有在表中,那么就得到硬件厂商网站进行查询, 或者拨打他们的咨询电话. [color] Windows XP的硬件兼容列表: Windows 2K的硬件兼容类别: Windows vista的硬件兼容类别:
3.新驱动和新服务 如果刚安装完某个硬件的新驱动, 或安装了某个软件, 而它又在系统服务中添加了相应项目(比如:杀毒软件、CPU降温软件、防火墙软件等), 在重启或使用中出现了蓝屏故障, 请到安全模式来卸载或禁用它们.
4.检查病毒 比如冲击波和振荡波等病毒有时会导致Windows蓝屏死机, 因此查杀病毒必不可少. 同时一些木马间谍软件也会引发蓝屏, 所以最好再用相关工具进行扫描检查.
5.检查BIOS和硬件兼容性 对于新装的电脑经常出现蓝屏问题, 应该检查并升级BIOS到最新版本, 同时关闭其中的内存相关项, 比如:缓存和映射. 另外, 还应该对照微软的硬件兼容列表检查自己的硬件. 还有就是, 如果主板BIOS无法支持大容量硬盘也会导致蓝屏, 需要对其进行升级.
QUOTE: 小提示: BIOS的缓存和映射项 Video BIOS Shadowing (视频BIOS映射) Shadowing address ranges(映射地址列) System BIOS Cacheable(系统BIOS缓冲) Video BIOS Cacheable(视频BIOS缓冲) Video RAM Cacheable(视频内存缓冲) 6.检查系统日志 在开始--&菜单中输入/运行:EventVwr.msc, 回车出现\\"事件查看器\\", 注意检查其中的\\"系统日志\\"和\\"应用程序日志\\"中表明\\"错误\\"的项.
7.查询停机码 把蓝屏中密密麻麻的E文记下来, 接着到其他电脑中上网, 进入微软帮助与支持网站 ,在左上角的\\"搜索(知识库)\\"中输入停机码, 如果搜索结果没有适合信息, 可以选择\\"英文知识库\\"在搜索一遍. 一般情况下,会在这里找到有用的解决案例. 另外, 在baidu、Google等搜索引擎中使用蓝屏的停机码或者后面的说明文字为关键词搜索,往往也会有以外的收获.
8.最后一次正确配置 一般情况下, 蓝屏都出现于更新了硬件驱动或新加硬件并安装其驱动后,这时Windows 2K/XP/Vista提供的\\"最后一次正确配置\\"就是解决蓝屏的快捷方式. 重启系统,在出现启动菜单时按下F8键就会出现高级启动选项菜单, 接着选择\\"最后一次正确配置\\".
9.安装最新的系统补丁和Service Pack 有些蓝屏是Windows本身存在缺陷造成的, 应此可通过安装最新的系统补丁和Service Pack来解决.
经典蓝屏案意义破解 检查BIOS和硬件兼容性 对于新装的电脑经常出现蓝屏问题, 应该检查并升级BIOS到最新版本, 同时关闭其中的内存相关项, 比如:缓存和映射. 另外, 还应该对照微软的硬件兼容列表检查自己的硬件. 还有就是, 如果主板BIOS无法支持大容量硬盘也会导致蓝屏, 需要对其进行升级. 相信我的回答能令你满意。以上的网址都可以用,不要管他。1.Windows XP有Bug Windows XP有一个关机故障的Bug,如果你的计算机在关机过程中时常出现关机蓝屏,而且该故障是间歇性的,按下“Ctrl+Alt+Delete”键也毫无反应,那么可以肯定你的系统还没有打上相应的补丁。请下载SP1补丁包打上补丁,一般就可以了。 2.创新声卡的驱动有问题 如果你使用的是创新声卡,并且在关机过程中出现蓝屏,错误码是“0X0A”,那么,请进入设备管理器,将声卡删除,刷新后,手动安装最新的带有数字签名的驱动程序。 3.罗技鼠标、键盘不完善 如果你使用的是罗技的网络键盘,并且安装了Key Commander软件来驱动键盘相应的网络功能,则有可能造成关机变成重启故障。如果你的罗技鼠标的驱动程序是MouseWare8.6,则会造成关机蓝屏故障,你只有卸载该驱动才能解决问题。 关机却不能自动切断电源 在关机过程中,一切正常,但是却停止在“您可以安全地关闭计算机了”却无法自动切断电源,需要手动按主机箱面板上的“Power”键来关机。造成出现该故障的原因一般有以下几个方面: 1. 没有开启电源支持 依次点击“开始→设置→控制面板→电源选项→高能电源管理”,勾选“启用高级电源管理支持”即可。 2.BIOS设置有误 可能是误修改了BIOS中有关电源管理的选项,如果你对BIOS设置比较熟悉,请进入BIOS,试着修改BIOS中有关电源管理的选项。如果你对BIOS不熟悉,那么干脆选择“Load default setup”选项,恢复BIOS到出厂时默认的设置即可。 3.Office XP也惹祸 OfficeXP当中Ctfmon.exe一直是一个颇有争议的问题。Ctfmon.exe是微软的文本服务文件,只要用户安装了OfficeXP并且安装了“可选用户输入方法组件,这个文件就会自动调用它,为语音识别、手写识别、键盘以及其它用户输入技术提供文字输入支持。即使我们没有启动Office XP,Ctfmon.exe照样在后台运行。就是它,往往造成了关机故障,你不妨将其卸载试试。 依次点击“开始→设置→控制面板→添加/删除程序”,在目前已安装的程序中选中“Microsoft Office XP Professionain WithFrontPage”,点击“更改”按钮,在“维护模式选项”对话框中选择“添加或删除功能”选项,点下一步,弹出“为所有Office应用程序和工具选择安装选项”对话框,展开“Office共享功能”选项,选中“中文可选用户输入方法”选项,在弹出菜单中选择“不安装”,点“更新”按钮即可。 4.APM/NT Legacy Node没有开启 一般情况下APM/NT LegacyNode没有开启可能造成关机却不能自动切断电源。进入我的电脑的属性→硬件→设备管理器,点菜单栏中的“查看→显示隐藏的设备”,显示出系统中所有的隐藏设备。在设备列表框中查看有无APM/NT LegacyNode选项。如果你的电脑支持此功能,就会有该选项,双击,在弹出的属性对话框中,点击“启用设备”按钮即可。
windows蓝屏代码
其他回答 (3)
插拔一下内存\换插槽插内存\更换内存\检查硬盘是否坏道\电源供电不足!
第一 把内存拿出来用橡皮擦下
第二 在CMOS中要把病毒警告关掉,开机按DEL键进入BIOS设置,在第二个菜单,第一项,把它设为DI
您好,,很很荣幸为您解答,希望对您有所帮助电脑蓝屏的原因很多,第一,病毒引起的,建议你开机按F8到安全模式全盘杀毒,第二,系统问题,重装系统可以解决,第三,软硬件有冲突, 或者是装有多个杀软,建议重装系统
第四,机箱内有灰尘,掉在内存插槽上,建议全面清理机箱灰尘,第五,CPU温度过高,换个大点的风扇,第6,内存条问题,一个是内存磁化了,用像皮擦下,如果装有多根内存条,还有可能是不兼容而引起蓝屏,内存质量不过关也会的7盗板软件也会引起蓝屏的8BIOS设置不对,或者是超频不成功、也会引起蓝屏,解决方法,可以取下主板电池通过主板放电把BIOS设置还原成默认设置
如果是笔记本,建议重装系统
如果还蓝,建议返厂或者是送去维修
-----飞~⊙ō⊙~飞答案-------抄袭可耻----------------- 抄袭必检举---------谢谢采纳---------祝开心健康WWWWWWWWWWW
等待您来回答
电脑常识领域专家CFile、CStdioFile、FILE和其他文件操作(转+总结)
20:36:33阅读119评论0&&字号:大中小&订阅
CFile//创建/打开文件CFfile.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
文件打开模式可组合使用,用“|”隔开,常用的有以下几种:CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作。CFile::modeReadWrite:以读写方式打开文件。CFile::modeRead:只读。CFile::modeWrite:只写。
//写入数据CString strValue = "Hello World!";file.Write(strValue,strValue.GetLength());
//追加数据file.SeekToEnd(); //将指针移至文件末尾进行追加file.Write(strValue,strValue.GetLength());
//关闭文件file.Close();
CStdioFileCStdioFile是CFile的派生类,对文件进行流式操作,对于文本文件的读写很有用处,可按行读取写入。
//写入数据CString strValue = "Hello World!";file.WriteString(strValue);
//读取数据CString strRfile.ReadString(strRead);
当文件存在多行数据需要逐行读取时,可用函数BOOL CStdioFile::ReadString(CString& rString),当遇到"\n "时读取截断,如果文件未读完,返回true,否则返回false。
//逐行读取文件内容,存入strReadwhile(file.ReadString(strRead)){&...;}
各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。  1.文件的查找  当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。  CString strFileT  CFileF  BOOL bWorking = finder.FindFile("C:\\windows\\sysbkup\\*.cab");  while(bWorking)  {  bWorking=finder.FindNextFile();  strFileTitle=finder.GetFileTitle();  }  2.文件的打开/保存对话框  让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。MFC的类CFileDialog用于实现这种功能。使用CFileDialog声明一个对象时,第一个BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。  在构造CFileDialog对象时,如果在参数中指定了OFN_ALLOWMULTISELECT风格,则在此对话框中可以进行多选操作。此时要重点注意为此CFileDialog对象的m_ofn.lpstrFile分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。  CFileDialog mFileDlg(TRUE,NULL,NULL,  OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,  "All Files (*.*)|*.*||",AfxGetMainWnd());  CString str(" ",10000);  mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);  str.ReleaseBuffer();  POSITION mPos=mFileDlg.GetStartPosition();  CString pathName(" ",128);  CFileS  while(mPos!=NULL)  {  pathName=mFileDlg.GetNextPathName(mPos);  CFile::GetStatus( pathName, status );  }  3.文件的读写  文件的读写非常重要,下面将重点进行介绍。文件读写的最普通的方法是直接使用CFile进行,如文件的读写可以使用下面的方法:  //对文件进行读操作  char sRead[2];  CFile mFile(_T("user.txt"),CFile::modeRead);  if(mFile.GetLength()&2)    mFile.Read(sRead,2);  mFile.Close();  //对文件进行写操作  CFile mFile(_T("user.txt "), CFile::modeWrite|CFile::modeCreate);  mFile.Write(sRead,2);  mFile.Flush(); (Forces any data remaining in the file buffer to be written to the file)  mFile.Close();  虽然这种方法最为基本,但是它的使用繁琐,而且功能非常简单。我向你推荐的是使用CArchive,它的使用方法简单且功能十分强大。首先还是用CFile声明一个对象,然后用这个对象的指针做参数声明一个CArchive对象,你就可以非常方便地存储各种复杂的数据类型了。它的使用方法见下例。  //对文件进行写操作  CString strT  CFile mF  mFile.Open("d:\\dd\\try.TRY",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);  CArchive ar(&mFile,CArchive::store);  ar&&  ar.Close();  mFile.Close();  //对文件进行读操作  CFile mF  if(mFile.Open("d:\\dd\\try.TRY",CFile::modeRead)==0)    CArchive ar(&mFile,CArchive::load);   ar&&strT&&&   ar.Close();  mFile.Close();  CArchive的 && 和&& 操作符用于简单数据类型的读写,对于CObject派生类的对象的存取要使用ReadObject()和WriteObject()。使用CArchive的ReadClass()和WriteClass()还可以进行类的读写,如:  //存储CAboutDlg类  ar.WriteClass(RUNTIME_CLASS(CAboutDlg));  //读取CAboutDlg类  CRuntimeClass* mRunClass=ar.ReadClass();  //使用CAboutDlg类  CObject* pObject=mRunClass-&CreateObject();&&&   ((CDialog* )pObject)-&DoModal();  虽然VC提供的文档/视结构中的文档也可进行这些操作,但是不容易理解、使用和管理,因此虽然很多VC入门的书上花费大量篇幅讲述文档/视结构,但我建议你最好不要使用它的文档。关于如何进行文档/视的分离有很多书介绍,包括非常著名的《Visual C++ 技术内幕》。  如果你要进行的文件操作只是简单的读写整行的字符串,我建议你使用CStdioFile,用它来进行此类操作非常方便,如下例。  CStdioFile mF  CFileException mE  mFile.Open( "d:\\temp\\aa.bat", CFile::modeWrite, &mExcept);  CString string="I am a string.";  mFile.WriteString(string);  mFile.Close(); 4.临时文件的使用
  正规软件经常用到临时文件,你经常可以会看到C:\Windows\Temp目录下有大量的扩展名为tmp的文件,这些就是程序运行是建立的临时文件。临时文件的使用方法基本与常规文件一样,只是文件名应该调用函数GetTempFileName()获得。它的第一个参数是建立此临时文件的路径,第二个参数是建立临时文件名的前缀,第四个参数用于得到建立的临时文件名。得到此临时文件名以后,你就可以用它来建立并操作文件了,如:  char szTempPath[_MAX_PATH],szTempfile[_MAX_PATH];  GetTempPath(_MAX_PATH, szTempPath);  GetTempFileName(szTempPath,_T ("my_"),0,szTempfile);  CFile m_tempFile(szTempfile,CFile:: modeCreate|CFile:: modeWrite);  char m_char='a';  m_tempFile.Write(&m_char,2);  m_tempFile.Close();  5.文件的复制、删除等  MFC中没有提供直接进行这些操作的功能,因而要使用SDK。SDK中的文件相关函数常用的有CopyFile()、CreateDirectory()、DeleteFile()、MoveFile()。它们的用法很简单,可参考MSDN。
1,判断文件是否存在&&& access(filename,mode);2,对于不同用途又不同的文件操作,其中API函数CreateFile()也是比较有用处理方式,对于巨型文件很合适。其他的楼上的大都说了,不重复了.
[1]显示对话框,取得文件名
CString FilePathNCFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为S***E AS对话框if (dlg.DoModal() == IDOK)&&& FilePathName=dlg.GetPathName();
相关信息:CFileDialog 用于取文件名的几个成员函数:假如选择的文件是C:\WINDOWS\TEST.EXE则(1)GetPathName();取文件名全称,包括完整路径。取回C:\WINDOWS\TEST.EXE(2)GetFileTitle();取文件全名:TEST.EXE(3)GetFileName();取回TEST(4)GetFileExt();取扩展名EXE
[2]打开文件CFile file("C:\HELLO.TXT",CFile::modeRead);//只读方式打开//CFile::modeRead可改为 CFile::modeWrite(只写),//CFile::modeReadWrite(读写),CFile::modeCreate(新建)例子:{CFfile.Open("C:\HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);...}
[3]移动文件指针file.Seek(100,CFile::begin);///从文件头开始往下移动100字节file.Seek(-50,CFile::end);///从文件末尾往上移动50字节file.Seek(-30,CFile::current);///从当前位置往上移动30字节file.SeekToBegin();///移到文件头file.SeekToEnd();///移到文件尾
[4]读写文件读文件:char buffer[1000];file.Read(buffer,1000);写文件:CString string("自强不息");file.Write(string,8);
[5]关闭文件file.Close();
本文来自CSDN博客,转载请标明出处:
CFile Read函数与CStdioFile的ReadString函数比较,Read 函数可以读取指定大小的字符串,ReadString可以读取到换行符前的所有字符串,而File函数的fgetc()也可以读取,但一次只能得到一个字节
FILE ,其与CFILE 有点相似.示例如下
&&char datain[101];&&FILE *fp_&&//打开数据文件&&fp_sys = fopen("要打开的文件名", "rb");//第二个参数为打开方法,r代表读,b代表二进制方式
&&if(fp_sys == NULL) {&&&AfxMessageBox("无法打开文件");&&&return FALSE;&&}&&//读取数据文件&&fread(datain, sizeof(unsigned char ), 42, fp_sys);//参数说明:第一个是接收的变量,第二个是类型的内存大小,第三个是字数的数量,第四个是读的文件
//写出数据到文件
fwrite(output_data, sizeof(unsigned char ), 40, fp_out););//参数说明:第一个是要写出的变量,第二个是类型的内存大小,第三个是字数的数量,第四个是写的文件
&CStdioFile类学习笔记
CStdioFile类的声明保存再afx.h头文件中。CStdioFile类继承自CFile类,CStdioFile对象表示一个用运行时的函数fopen打开的c运行时的流式文件。流式文件是被缓冲的,而且可以以文本方式(默认)或者二进制方式打开。CStdioFile类不支持CFile类中的Duplicate、LockRange、UnlockRange函数,如果你使用了,会得到CNotSupportedException类的错误。CStringFile类默认的是按照Text模式操作文件。CFile类默认的是按照二进制模式操作文件。这里大致说明一下二进制模式和Text模式的区别。二进制模式:对于一行的结尾我们必须输入”\r\n”,才能表示回车换行的效果。Text模式:”\r”回车的工作是自动完成的,我们只需要写入”\n”即可。所以我们再使用文本模式时要主要,当我们从外部读入文件时,”\r\n”会被翻译成”\n”,写入文件时,我们对于回车换行只需提供”\n”,即可,”\r\n”会被写入到文件中。m_pStream成员变量:&&&&&打开文件的指针。&构造函数:CStdioFile();CStdioFile(FILE *pOpenStream);CStdioFile(LPCTSTR lpFileName, UINT nOpenFlags);throw(CFileException);FILE *pOpenStream:指的是c运行函数fopen调用后返回的文件指针。LPCTSTR lpFileName:指的是被打开的文件(绝对地址或相对地址)UINT nOpenFlags:指的是CFile类中所描述的打开文件的方式。&virtual LPTSTR ReadString(LPTSTR lpsz, UINT nMax);throw(CFileException);如果使用该函数读取文本文件,当遇到”\r\n”,停止读取,并去掉”\r”,保留”\n”,并在字符串尾部增加,nMax的长度包含有字符,实际的分析如下:如果nMax &=字符数,读取(nMax-1)个字符+0x00;如果nMax =字符数+ 1,读取nMax个字符+0x00;如果nMax &字符数,读取nMax个字符+0x0A(”\n”) + 0x00;如果文件有多行,则当文件没有读完时,返回NOT NULL,读到文件尾,返回NULL。&BOOL ReadString(CString& rString);throw(CFileException);读取一行文本到rString中,遇到回车换行符停止读取,回车和换行符均不读到rString中,尾部也不添加&#”。如果文件有多行,则当文件没有读完时,返回TRUE,读到文件尾,返回FALSE。&virtual void WriteString(LPTSTR&lpsz);throw(CFileException);将缓冲区中的数据写入到与CStdioFile对象相关联的文件中,不支持CString类型数据写入,结束的不被写入到文件中,lpsz缓冲区中的所有换行符被替换为回车换行符即”\n”转换为”\r\n”。
使用CStdioFile进行文件读写
CStdioFile继承自CFile,一个CStdioFile对象代表一个用运行时函数fopen打开的C运行时流式文件。
  流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
  CStdioFile不支持Duplicate,LockRange,和UnlockRange这几个CFile函数。如果在CStdioFile中调用了这几个函数,将会出现CNoSupported异常。
  CStdioFile::ReadString(LPTSTR lpsz, UINT nMax);
  读取一行文本到缓冲区,遇到&#D,0x0A”时停止读取,并且去掉硬回车&#D”,保留换行符&#A”,在字符串末尾添加(0x00)。nMax个字符里包含0x00这个字符。分析如下:
  1)如果nMax &=字符数,读取(nMax-1)个字符+ 0x00
  2)如果nMax =字符数+ 1,读取nMax个字符+ 0x00
  3)如果nMax &字符数,读取nMax个字符+ 0x0A + 0x00
  CStdioFile::ReadString(CString &rString);(重载)
  读取一行文本到rString,遇到回车换行符停止读取。回车和换行符不读到rString,而且末尾也没有添加。
  CStdioFile::WriteString( LPCTSTR lpsz );(不支持CString直接写入)
  将一个缓冲区中的数据写入与CStdioFile对象关联的文件中。结束的空字符()不被写入该文件。lpsz中的所有换行符都被以一个硬回车换行符对写入该文件,即“\n”被转化成“\r\n”写入到文件里。
  CFile的派生类CStdioFile提供了对文件进行流式的操作功能。其中函数void CStdioFile::WriteString( LPCTSTR lpsz )写入一个字符串,需要给字符串lpsz的末尾加上换行标志”\r\n”;函数bool CStdioFile::ReadString(CString &rString )从文件中读取一行,如果文件未读完返回true,否则返回false。
  比如:写入文件的例子
  //创建文件
  CStdioF
  file.Open("ts.txt",CFile::modeCreate|CFile::modeWrite);
  //写入文件
  str.Format("%s\r\n","hello!I am talkingmute!");
  file.Seek(0,CFile::end);
  file.WriteString( str );
  //关闭文件
  file.Close();
  比如:读文件的例子
  CString strText = “”;
  CString szLine = “”;
  //打开文件
  CStdioF
  file.Open("ts.txt",CFile::modeRead);
  //逐行读取字符串
  while( file.ReadString( szLine ) )
  strText += szL
  MessageBox(strText);
  //关闭文件
  file.Close();
阅读(...) 评论()}

我要回帖

更多关于 问问李子勋 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信