C++文件I/O

原创 2018年04月17日 20:28:38

C++文件I/O

C++有三种类型的文件流:

  • 输入文件流(声明ifstream对象)
  • 输出文件流(声明ofstream对象)
  • 输入和输出流(声明fstream对象)

    注意:输入流是从文件读入数据到内存,输出流是将内存的数据写入到文件中

    • 在建立了流后使用open()函数将流与文件关联,如:
      ofstream ofile; //创建输出文件流
      ofile.open(“a.txt”); //打开文件,流与文件关联
      ofile.close(); //关闭文件

      1. 在打开文件时,若使用绝对路径,路径中的‘\’要转义为‘\\’,如“e:\\desktop\\a.txt”。
      2. 也可以在创建对象时关联文件:ofstream ofile(“a.txt”)。
      3. 事实上open()函数原型的参数为:(const char* filemane, int openmode);其中,openmode在打开输出文件时,默认为ios::out;打开输入文件时,默认为ios::in。
      4. 可以通过ofile.is_open()判断文件是否打开成功(成功返回1,失败返回0)。
      5. 如果没有主动用close关闭文件,在流对象退出作用于时,(通过调用析构函数)也会自动关闭相关联的文件;但是能尽早主动释放资源更好的。
      6. 在ofile调用了close()函数后,也能再调用open()与其他文件(如b.txt)关联。




~~作业3~~

  • ## 用eof判断文件尾 ##
    首先创一个写入年份的文件:

接下来是要求的文件:

int i;

ofstream f_result;  
ifstream f_years;

f_years.open("years.txt");
f_years >> i;

while(f_years.good()){
    if(isLeapYear(i))
        f_result << i << "is a leap year.\n"; 
    else
        f_result << i << "is not a leap year.\n"; 

    f_years >> i;
    }

if(f_years.eof())
    cout << "End of file reached.\n";
else if(f_years.fail())
    cout << "Terminated by mismatch.\n";

f_result.close();
f_years.close();
  • 用feof

    int i;
    
    ofstream f_result;      
    FILE *fp = fopen("years.txt","r");
    
    f_result.open("result of years.txt");
    fscanf(fp, "%d",&i);
    
    while(!feof(fp)){               
        if(isLeapYear(i))
            f_result << i << "is a leap year.\n"; 
        else
            f_result << i << "is not a leap year.\n"; 
    
        fscanf(fp, "%d",&i);
    }
    
    fclose(fp);         
    f_result.close();
    

C++中 I/O流总结

程序的输入是指把输入文件数据传送给程序,程序的输出是指从程序中把输出结果传送给输出文件。C++中输入输出大致上有以下三种: 1)标准I/O------对系统指定的标准设备的输入输出。(eg:从键盘输...
  • x1247600186
  • x1247600186
  • 2014-05-26 23:58:02
  • 1266

用C++实现文件I/O操作

文件 I/O 在C++中比烤蛋糕简单多了。 在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。  一、ASCII 输出  为了使用下面的方...
  • jiahehao
  • jiahehao
  • 2007-11-01 15:51:00
  • 1674

C语言与C++文件的I/O操作

以下代码摘自《小甲鱼C++快速入门》视频教程 C语言:filecopy.c; #include #include int main(int argc, char* argv[]) { FILE...
  • u011643312
  • u011643312
  • 2016-12-21 20:51:01
  • 161

c++中一些处理i/o流和文件流信息的方法总结

处理i/o流(cin, cout)1.处理缓冲区关于缓冲区的概念,看一个例子: #include using namespace std; int main()...
  • CJFAN_yo
  • CJFAN_yo
  • 2017-06-21 18:18:23
  • 163

C++文件流I/O操作:fstream类

一.简介     所谓“文件”,一般是指存在外部介质上的数据的集合,一批数据是以文件的形式存放在外部介质(如磁盘、光盘和U盘)上的,操作系统以文件为单位对数据进行管理。对用户来说,常用的文件有两大类...
  • Henjay724
  • Henjay724
  • 2012-12-20 18:46:14
  • 1894

C++I/O输入输出

1.流和缓冲区: 我们通常说的流,可以理解为从一个地方流向另一个地方。在C++中的I/O是指的输入/输出端口,那么I/O流就可以简单的理解为在外部设备和内存之间的数据流动。直白的讲,流实际上是一个字节...
  • lishuzhai
  • lishuzhai
  • 2016-04-19 21:28:50
  • 2172

C++ I/O流常用控制符

I/O流常用控制符:  dec 置基数为10 相当于”%d”  hex 置基数为16 相当于”%X”  oct 置基数为8 相当于”%o”  setfill(c) 设填充字符为c  setprecis...
  • zqf3535
  • zqf3535
  • 2017-01-20 19:46:51
  • 252

C/C++文件I/O操作

文件输入 #include #include //支持文件I/O操作 #include //支持exit()函数 using namespace std; int main() { ifst...
  • Lv_Victor
  • Lv_Victor
  • 2016-03-15 10:32:23
  • 542

C++文件流I/O小程序

我对文件流的理解是好像有一个随时随地可以打开的传送门,使用它前必须指定打开那个文件(文本文件和二进制文件),然后将文件里的内容读出或将外界的东西写入到文件,这个传送门使用后必须关闭,清除举个读一个文本...
  • lishihua514
  • lishihua514
  • 2010-03-22 18:10:00
  • 425

C++流之标准I/O流

1、什么是标准I/O? 2、标准I/O的类的继承关系是什么? 3、ios类中几个常用的枚举类是什么? 4、ios类中的成员函数有哪些? 5、什么是格式控制符?...
  • dingyanxxx
  • dingyanxxx
  • 2015-08-09 20:51:20
  • 1089
收藏助手
不良信息举报
您举报文章:C++文件I/O
举报原因:
原因补充:

(最多只允许输入30个字)