| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1095 人关注过本帖
标题:c++ 创建文件
只看楼主 加入收藏
zhongjiezhe
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2011-5-20
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:11 
c++ 创建文件

#include<fstream.h>
#include<stdlib.h>


int main()
{
    ifstream ifile;
    ifile.open("实验文本.dat",ios::binary);
    if(!ifile)
        cout<<"文件不存在"<<endl;
    else;
    system("pause");
    return 0;
}

以上的程序可以正确创建一个二进制文件

#include<iostream>
#include<fstream>
#include<stdlib.h>

using namespace std;

int main()
{
    ifstream ifile;
    ifile.open("实验文本.dat",ios::binary);
    if(!ifile)
        cout<<"文件不存在"<<endl;
    else;
    system("pause");
    return 0;
}

结果显示文件不存在,没有创建相应的二进制文件

两个程序只有声明头文件的方式不一样,怎么理解产生的结果呢
搜索更多相关主题的帖子: return 
2011-07-06 21:43
ToBeStronger
Rank: 4
等 级:业余侠客
帖 子:61
专家分:239
注 册:2011-4-8
收藏
得分:0 
#include<fstream>已经包含#include<iostream>,所以不应该再写#include<iostream>

2011-07-06 23:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:2 
ifstream 是从文件中读取信息,所以它不会去创建文件。因为对于一个空文件,你想读什么?
2011-07-07 08:17
zhongjiezhe
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2011-5-20
收藏
得分:0 
回复 2楼 ToBeStronger
在dev c++中不写include<iostream>编译不成功
2011-07-07 09:57
specilize
Rank: 4
等 级:业余侠客
帖 子:126
专家分:247
注 册:2011-2-20
收藏
得分:3 
#include<fstream.h>
#include<stdlib.h>
int main()
{
    ifstream ifile;
    ifile.open("实验文本.dat",ios::binary);
    if(!ifile)
        cout<<"文件不存在"<<endl;
    else;
    system("pause");
    return 0;
}
楼主确定这个程序可以正确创建一个二进制文件
ios,cout都没声明,怎么可能会编译通过,所以上面这个程序应该是要包含<iostream.h>的
结果两个程序都一样,都是文件不存在,解释如rjsp
ToBeStronger说#include<fstream>已经包含#include<iostream>,所以不应该再写#include<iostream>    这话不对吧
2011-07-07 14:42
zhongjiezhe
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2011-5-20
收藏
得分:0 
回复 5楼 specilize
我用的是VC6.0,真的创建了一个实验文本.dat的文件,千真万确
2011-07-07 19:42
ToBeStronger
Rank: 4
等 级:业余侠客
帖 子:61
专家分:239
注 册:2011-4-8
收藏
得分:0 
回复 4楼 zhongjiezhe
我没用过DEVC++,我用VC6.0,果断运行成功创建了文件.....,应该是编译器问题
2011-07-07 21:05
ToBeStronger
Rank: 4
等 级:业余侠客
帖 子:61
专家分:239
注 册:2011-4-8
收藏
得分:0 
同学,你第二个fstream为什么不加.h,
#include<iostream>
#include<fstream.h>
#include<stdlib.h>

//using namespace std;

int main()
{
    ifstream ifile;
    ifile.open("实验文本.dat",ios::binary);
    if(!ifile)
        cout<<"文件不存在"<<endl;
    else;
    system("pause");
    return 0;
}
我这样改过,能运行
2011-07-07 21:13
ToBeStronger
Rank: 4
等 级:业余侠客
帖 子:61
专家分:239
注 册:2011-4-8
收藏
得分:0 
回复 5楼 specilize
我说#include<fstream>已经包含#include<iostream>,所以不应该再写#include<iostream>   意思是不用再显示的包含iostream,即头文件不用再写#include<iostream>,当然你写也可以
2011-07-07 21:16
specilize
Rank: 4
等 级:业余侠客
帖 子:126
专家分:247
注 册:2011-2-20
收藏
得分:0 
回复 6楼 zhongjiezhe
这是一个问题,应该是编译器的问题
2011-07-07 21:42
快速回复:c++ 创建文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037394 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved