C++ 文件流无法打开文件会是什么原因?

我在写C++程序的时候,经常遇到无法打开文件的情况。特别是当用ifstream打开一个比较大的txt格式文本文件的时候,(这里比较大指的也就几K),总是会毫无悬念的失败!更加郁闷的是,一旦失败之后,我想再去打开其他文件都不行了!这种现象让我纠结了很久,因为我的程序是没有问题的,我调试过无数遍,调试过程中也能够正常打开,所以我找不到症结所在!我现在非常怀疑是系统的原因:1.会不会是因为vista系统太垃圾,内存保护机制太苛刻,限制了内存空间的分配,所以无法打开稍微有那么一点大的文件??2.会不会是因为vista的权限保护,因为我没有足够高的权限而限制了给我分配内存的大小??3.难道是我人品不好??希望哪位有此类经验的或者对文件操作有了解的,可以帮我解释一下可能的原因。我只有6分,所以没法一下子给出很多分,只能尽数送上,还希望各位能够不吝赐教,感恩不尽。积分一定追加! 

你说打开失败..我想可能是你打开的方式出了问题....C++的对文件的读写都是流的形式,采用的是二进制方式读写的,而文本文件则不一样,他是一个字符一位来的,称之为文本形式,所以在C++打开类似文本文件的时候,需要用匹配的读写方式打开,否则将导致打开文件的一个变量变化,导致其他文件也打不开,需要重新重置那个变量
温馨提示:内容为网友见解,仅供参考
无其他回答

C++ 文件流无法打开文件会是什么原因?
你说打开失败..我想可能是你打开的方式出了问题...C++的对文件的读写都是流的形式,采用的是二进制方式读写的,而文本文件则不一样,他是一个字符一位来的,称之为文本形式,所以在C++打开类似文本文件的时候,需要用匹配的读写方式打开,否则将导致打开文件的一个变量变化,导致其他文件也打不开,...

无法打开源文件??一招教你解决所有问题!
当你在C++项目中遭遇源文件无法打开的困扰时,别急,问题总有解决之道。首要的关键在于理解VS报错的原因:它找不到头文件,就像初次接触VS的新手试图打开资源管理器一样。解决方法分为两步:首先,你可以尝试在本地搜索头文件。打开VS项目属性,进入VC++目录,点击编辑,添加包含头文件的文件路径,操作完...

一个C++程序,为什么总是显示无法打开输出文件?(用户可以输入保存路径...
原因:当输入前一个字符串并以#结尾后,回车键仍然在缓冲区里,当输入文件路径时,这个回车也被读进去了。比如原本输入的路径是 c:\\file, 结果path中的第0个字符是0x0A,而不是c。也就是说读进path的文件名错了,所以打不开。把ofstream fout(path,ios::binary);这一行 改为 ofstream fout(...

华硕笔记本电脑安装C++后无法打开的原因?
该问题是汉化版本和win10系统兼容性不佳导致的。1.将下载好的文件替换掉MSDEV.EXE文件。2.下载好我们要替换的文件。3.找到桌面快捷方式,鼠标右键点击“打开文件位置”。4.找到Bin,Bin文件夹下会有很多文件,不要管就是了。5.将刚才下载好的英文版复制到Bin文件夹中,它会提示替换文件,点击替换即可...

c++程序问题,运行程序时显示不能打开word.txt文件,这是为什么?怎么解决...
ifstream infile;\/\/ 文件流,srand(time(NULL));\/\/ 根据时间得到一个随机数,infile.open("words.txt");\/\/ 打开文件 if (!infile)\/\/若找不到文件,处理 { cout << " 不能打开Words.txt文件 " << endl;system("pause");return 0;} else { \/\/x = rand()%50;\/\/ 得到一个随机数 ...

为什么我安装好的Mrosoft visual c++6.0不能打开文件,打开时总会出现错...
可能是因为你安装了office2007。解决方法:到网上下载一个叫做filetool的vc6.0的插件然后按照以下方法安装,希望能对你有所帮助。1. 下载FileTool.exe,并解压 2. 打开VC6.0,点击File-Open Workspace,选择刚解压出来的FileTool.dsw,并确定 3. 点击Bulid-Build FileTool.dll,生成FileTool.dll文件 4....

c++ 如何打开文件
C++文件流:fstream\/\/ 文件流 ifstream  \/\/ 输入文件流 ofstream  \/\/ 输出文件流 \/\/创建一个文本文件并写入信息 \/\/同向屏幕上输出信息一样将信息输出至文件 include include void main(){ ofstream f1("d:\\\\me.txt"); \/\/打开文件用于写,若文件不存在就创建它 if(!f1)return; \/\/打开...

C++文件流打开文件
- `filename`:需要打开的文件的名称,如 "c:config.sys"。- `mode`:指定打开文件的方式,可以是以下几种:- `ios::app`:追加模式,文件打开后默认在尾部。- `ios::ate`:定位到文件尾,追加模式包含此属性。- `ios::binary`:二进制模式,与文本模式区别在于数据的读写方式。- `ios::in...

c++中文件的读入和输出是怎么样的?
一、打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是:void open(const char* filename,int mode,int access);参数:filename:要打开的文件名 mode:要打开文件的方式 access:打开文件的属性 打开文件的方式在类ios(是所有流式I\/O类的基类)中定义,常用的值如下:i...

c++,文件流,为啥文件能打开也会继续循环呢?
ifstream读到eof后本身也失效了,所以最后判断的!mytable还是true。可以考虑把while里的条件改为true,然后读取完毕后直接break。

相似回答