`
zengsai
  • 浏览: 28419 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

ifstream 没有 ios::nocreate 属性

iOS 
阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

今天在 vs2008 中运行一个小程序的时候,发现了一个小问题,ifstream 的 open 函数中不能用 ios::nocreate 属性。详细见代码:

#include <fstream>
#include <iostream>
#include <stdlib><span style="color: #0000ff">int</span> main()
{
	<span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> std;
	
	ifstream inFile;

	inFile.open("<span style="color: #8b0000">my.dat</span>",ios::in | ios::nocreate);
	<span style="color: #0000ff">if</span>(!inFile)
	{
		cerr 不能打开my.dat" return 0;

}</stdlib></iostream></fstream>

出现错误:

error C2065: “nocreate”: 未声明的标识符
error C2065: “inFile”: 未声明的标识符

原因:从 vs 2003 开始,微软用一个新的 iostream 替换了原来的。新包中没有 nocreate 标识符。

原来 ifstream 中的 open 函数默认打开就是不创建文件。如果没有这个文件则打开出错,而不是创建文件。详见代码运行结果:

#include <fstream>
#include <iostream>
#include <stdlib><span style="color: #0000ff">int</span> main()
{
	<span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> std;

	ifstream inFile;

	inFile.open("<span style="color: #8b0000">my.dat</span>",ios::in);
	<span style="color: #0000ff">if</span>(!inFile)
	{
		cerr 不能打开my.dat" return 0;

}</stdlib></iostream></fstream>

运行结果:

未命名

分享到:
评论

相关推荐

    ofstream和ifstream用法

    常用的方式有 ios::app、ios::ate、ios::binary、ios::in、ios::out、ios::nocreate、ios::noreplace、ios::trunc 等。 例如,以二进制输入方式打开文件 c:\config.sys: fstream file1; file1.open("c:\\config....

    ofstream和ifstream详细用法

    * `ios::nocreate`:不建立文件,所以文件不存在时打开失败 * `ios::noreplace`:不覆盖文件,所以打开文件时如果文件存在失败 * `ios::trunc`:如果文件存在,把文件长度设为 0 可以用“或”把以上属性连接起来,...

    c++文件读写.pdf

    * ios::nocreate:不建立文件,所以文件不存在时打开失败 * ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 * ios::trunc:如果文件存在,把文件长度设为 0 可以用“或”把以上属性连接起来,如 ios...

    C++文件读写操作

    * ios::nocreate:不建立文件,所以文件不存在时打开失败 * ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 * ios::trunc:如果文件存在,把文件长度设为 0 例如,以二进制输入方式打开文件 c:\...

    对文件操作C++代码

    - **`ios::nocreate`**:如果文件不存在,则不创建新文件。 - **`ios::noreplace`**:如果文件已存在,则不允许替换。 ### 示例代码解析 在提供的示例代码中,首先通过`ofstream`创建了一个名为“2.txt”的文件,...

    c++ 文件操作(fstream)

    * ios::nocreate:打开一个文件时,如果文件不存在,不创建文件 * ios::noreplace:打开一个文件时,如果文件不存在,创建该文件 * ios::trunc:打开一个文件,然后清空内容 * ios::ate:打开一个文件时,将位置移动...

    c++ 文件操作小结

    - **`ios::nocreate`**:如果文件不存在,则不创建新文件。 - **`ios::noreplace`**:如果文件已存在,则不允许替换。 - **`ios::trunc`**:如果文件已存在,则将其大小设置为0。 示例代码: ```cpp ...

    C++ ofstream用法

    * ios::nocreate:不建立文件,所以文件不存在时打开失败 * ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败 * ios::trunc:如果文件存在,把文件长度设为0 可以用“或”把以上属性连接起来,如ios::...

    c++ 文件的读写

    - `ios::nocreate`:尝试打开一个文件,如果文件不存在,则不创建新文件。 - `ios::noreplace`:打开一个文件时,如果文件不存在,则创建该文件。 - `ios::trunc`:打开一个文件,然后清空内容,常用于写入模式。 - ...

    C++文件操作

    - `ios::nocreate`:若文件不存在,则打开操作失败,不创建新文件。 - `ios::noreplace`:若文件已存在,则打开操作失败,不覆盖原有文件。 - `ios::trunc`:若文件存在,将其长度设为0,相当于清空文件。 **文件...

    文件输入输出 doc文档

    - `ios::nocreate`:文件不存在时产生错误。 - `ios::noreplace`:文件存在时产生错误。 - `ios::binary`:二进制文件模式。 三、文件保护方式 文件保护方式主要涉及文件的共享属性,如`filebuf::openprot`、`...

    摄影测量空间后方交会

    ifstream filein(filename,ios::in|ios::nocreate); // 以输入方式打开一个文件,ios::nocreate表示原文件不存在时,不创建 if(!filein) { cout打开文件失败!文件可能不存在!"; exit(1); } for(int i=0;i;i...

    c__读写文件.doc

    - `ios::nocreate`:如果文件不存在则操作失败。 - `ios::noreplace`:如果文件存在则操作失败。 - `ios::binary`:以二进制模式打开文件。 - **示例代码**: ```cpp ofstream fout("d:\\me.txt"); // 打开或...

    C++逐行读取数据数组

    - `ios::nocreate`:尝试打开一个文件而不创建它(如果文件不存在,则操作失败)。 - `ios::noreplace`:尝试打开一个文件而不会覆盖已存在的文件(如果文件存在,则操作失败)。 - `ios::trunc`:打开一个文件并...

    C++ 文件的读写操作

    - `ios::nocreate`:若文件不存在,则打开失败。 - `ios::noreplace`:若文件已存在,则打开失败。 - `ios::trunc`:若文件存在,清空文件内容。 例如,以二进制读取模式打开文件: ```cpp fstream file1; file1....

    深入详解C++ IO

    - `ios::nocreate`:如果文件不存在则打开失败。 - `ios::noreplace`:如果文件已存在,则打开失败。 - `ios::trunc`:如果文件存在,则截断文件。 - `nProt`指定文件的保护模式,可以是以下之一: - `filebuf::...

Global site tag (gtag.js) - Google Analytics