zoukankan      html  css  js  c++  java
  • 第十三章 和文件进行通信

    程序和文件进行通信简单的一种方式是通过文件重定向。

    文件:

          文件,它事实上是在磁盘上的一段存储区,之只是它是已命名的。它分为文本视图和二进制视图。在二进制视图中,文件里的每一个字节都可为程序所訪问,而在文本视图中,程序看到的内容和文件的内容有可能不同。

    i/o级别:

        低级I/O:使用操作系统提供的基本I/O服务。

    标准高级I/O:使用一个标准的C库函数包和头文件里的定义(可移植性好, 处理不同I/O方便。处理速度快(缓冲))。

    exit()函数:

         它的作用是关闭全部打开的文件并终止程序,它的參数会被传递给一些操作系统。以供其它程序使用。通常的约定是正常的终止的程序传递值0。非正常终止的程序传递一个非0值,不同退出值能够用来标识导致程序失败的不同原因。在最初调用的main ()中使用return 和调用exit ()效果同样。假设是在递归中程序中,exit()仍然会终止程序。但return 将控制权移交给递归的前一级,直到最初的那一级。此时return才会终止程序。也就说retrun和exit()的差别在于,即使在除main()之外的函数中调用exit (),它也将终止程序。

    fopen ()函数:函数原型:FILE * fopen(const char * path,const char * mode);

        fopen ()函数接受两个參数。

    第一个參数为要打开的文件名称(包括该文件名称的字符串的地址)。第二个用于指定文件打开的模式的一个字符串。

    它的返回值:文件顺利打开后,指向该流的文件指针就会被返回。

    假设文件打开失败则返回NULL,并把错误代码存在errno

    模式字符串

    模式字符串 意义
    "r" 打开一个文本文件,能够读取文件
    "w" 打开一个文本文件,能够写入文件,先将文件的长度截为零。假设文件不存在则先创建之
    "a" 打开一个文本文件。能够写入文件,向已有文件的尾部追加内容,假设该文件不存在则先创建之
    "r+" 打开一个文本文件,能够进行更新,也即能够读取和写入文件
    "w+" 打开一个文本文件,能够进行更新。也即能够读取和写入文件。假设该文件存在则首先将其长度截为零
    假设不存在则创建之
    "a+" 打开一个文本文件,能够进行更新(可读取与写入)向已有文件的尾部追加内容,假设该文件不存在则
    创建之。能够读取整个文件。可是写入时仅仅有追加内容
    "rb","wb","ab",“ab+",
    " a+b","wb+","w+b","ab+",
    "a+b"
    与前面的模式相似。仅仅是使用二进制模式而非文本模式打开文件

    getc()函数和putc ()函数:

        这两个函数与getchar ()和putchar ()差点儿相同,仅仅是一个使用文件获取。一个使用标准输入,输出。

    getc():
    功 能: 从流中取字符  
    用 法: int getc(FILE *stream);

    getc的调用形式:ch=getc(fp);此处的fp是文件指针。函数功能是从文件指针指向的文件读入一个字符,并把它作为函数值返回给字符型变量ch。

    假设读取失败则返回NULL.若读到文件尾而无数据时便返回EOF.

    putc()函数用于输入一个字符到指定流中,其原型例如以下:
        int putc(int ch, FILE *stream);

    【參数】參数ch表示要输入的位置,參数stream为要输入的流。

    【返回值】若正确,返回输入的的字符,否则返回EOF。

    fclose ()函数

        fclose (fp)函数关闭由fp指定的文件,同一时候依据须要刷新缓冲区。

    if (fclose  (fp ) != 0)  //假设文件成功关闭,fclose ()函数返回值0,否则返回EOF

        printf ("Error in closing file %s ", argv [1]);





    
  • 相关阅读:
    shell、cmd、dos和脚本语言杂谈(转)
    windows命令之PING DIR DEL CD TASKLIST (转)
    STM32的操作过程,寄存器配置与调试过程(转载)
    关于MCU的烧录,下载与其他接口的比较(一)
    关于Spring Security 3获取用户信息的问题
    Spring security 获取当前用户
    Spring Security3实现,权限动态获取
    Spring Security教程
    spring security 3 自定义认证,授权示例
    SpringSecurity自定义过滤器
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6958777.html
Copyright © 2011-2022 走看看