面向对象程序设计(C++)如何打开一个文件,先判断文件是否打开,如果成功则输入内容入文件,读取文件内容

如题所述

并不是所有的代码都要用 C++ 代码去写。 你的这个编程要求 C 语言足矣。我的代码不是最简的,但是思路很清楚。另外,你要注意一点:编写程序不要为了 C++ 而 C++,而是当你遇到某个具体问题时,确实要用面向对象的思想来考虑时,这时候用C++ 才显得自然,否则的话,程序代码的可读性较差。我的部分 C 语言代码如下:

#include <stdio.h>
void main( )
{
FILE * fp1, *fp2 ;
fp1=fopen("yourdata", "r");
if(fp1==NULL)
{
printf("can't open file1 for read!\n");
exit(1);
}
fp2=fopen("yourwritedata","w");
if(fp2==NULL)
{
fclose(fp1);
printf("can't open file2 for write !\n");
exit(1);
}
.......
}

其中:省略号的部分就是你要读写文件的内容,根据你的具体需要,你自己写文件的读写函数。例如:读文件数据的库函数有:fscanf()、fgets() 等,这个不唯一。我个人建议:劝你读、写文件内容还是要用两个文件指针比较好,否则对同一个文件用一个文件指针同时进行读写数据,编程思路稍有一点疏忽就会出错。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-15
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
ifstream fp("d:\\12.txt",ios::nocreate); //默认以 ios::in 的方式打开文件,文件不存在时操作失败
fstream;
fstream f;   //利用同一对象对多个文件进行操作时要用到open函数
if(!f.open("d:\\12.txt",ios::out))
cout<<"文件打开失败!";
int i;
double d;
char c;
char s[20];
f>>i>>d>>c; //读取数据
f.getline(s,20);
cout<<i<<endl; //显示各数据
cout<<d<<endl;
cout<<c<<endl;
cout<<s<<endl;
f.close();
}
详细可见C++文件操作、C++文件流等百科名片

参考资料:http://baike.baidu.com/view/1786145.html

本回答被提问者和网友采纳
相似回答