zoukankan      html  css  js  c++  java
  • 【UNIX程序设计教程】标准输入输出

    FILE * fopen(const char * pathname, const char * opentype);

    打开由pathname指定的文件并创建一个与之相连的流。

    int fclose(FILE * stream);

    打开的流通过fclose函数来关闭,在流被关闭前,所有缓冲区的输出将被写出,所有缓冲区的输入将被丢弃。

    FILE * freopen(const char * pathname, const char * opentype, FILE * stream);

    重新打开指定文件,并使之与一个指定的流(stream指定的流)相连。作用类似于fopen函数与fclose函数的合并。先关闭stream指定的流,按照opentype的方式打开pathname指定的文件,并使之与stream指定的流相连接。

    一旦打开一个流,就需要对流进行读写。有3种类型的无格式I/O函数:字符I/O函数,行I/O函数,块I/O函数。

    1.字符I/O函数

    字符输入函数中,getc函数最常用,其它两个基本不予使用。

    #include <stdio.h>
    int fgetc(FILE * stream);
    int getc(FILE * stream);
    int getchar(void);


    字符输出函数中,putc函数最常用。

    #include <stdio.h>
    int fputc(int c, FILE * stream);
    int putc(int c, FILE * stream);
    int putchar(int c);
     
    2.行I/O函数
    标准C库中有以下两个函数用于每次读入一行
    #include <stdio.h>
    
    char * fgets(char *s, int count, FILE * stream);
    char * gets(char * s);

    这里着重介绍一下fgets函数。

    作用:从stream指定的流中至多读入一行字符至参数s指定的字符串中,参数count指明字符串s的空间大小。该函数从流中连续读字符直至读到换行符或者读够count -1个字符为止。 所读入的这一行字符包含最后的换行符,存储在参数s指定的数组中,并且在其末尾加一个空字符(\0)作为该字符串结束标志。

    fgets函数比较安全,不会产生溢出,而gets函数没有为字符串s的溢出提供保护,因此我们最好不要使用gets。

    LINUX中的GNU C库专门提供了另外一个一次读入一行的函数getline,此外还扩充了一个更通用的函数getdelim。

    #include <stdio.h>
    
    ssize_t getline(char * * lineptr, size_t * n, FILE * stream);
    ssize_t getdelim(char * * lineptr, size_t * n, int delimter, FILE * stream);
  • 相关阅读:
    登入界面的创建
    什么是IO流 以及文件输入输出
    java 的面向对象
    Mac 终端命令大全
    jQuery 的属性
    商城管理系统
    Java IO学习第二天部分详解
    Java IO学习第一天部分详解
    用JAVA描述一个车与修车厂两个事物
    JAVA基础(数组)数组排序和查找数组中是否还有某一个数
  • 原文地址:https://www.cnblogs.com/qi09/p/1820948.html
Copyright © 2011-2022 走看看