美文网首页
11.标准IO库

11.标准IO库

作者: 辉神来了 | 来源:发表于2019-10-30 14:56 被阅读0次
    标准IO和文件IO有什么区别
    • 看起来使用时都是函数,但是:标准IO是C库函数,而文件IO是linux系统的API
    • C语言库函数是由API封装而来的。库函数内部也是通过调用API来完成操作的,但是库函数因为多了一层封装,所以比API要更加好用一些。
    • 库函数比API还有一个优势就是:API在不同的操作系统之间是不能通用的,但是C库函数在不同操作系统中几乎是一样的。所以C库函数具有可移植性而API不具有可移植性。
    • 性能上和易用性上看,C库函数一般要好一些。譬如IO,文件IO是不带缓存的,而标准IO是带缓存的,因此标准IO比文件IO性能要更高。
    常用标准IO函数介绍
    • 常见的标准IO库函数有:fopen、fclose、fwrite、fread、ffulsh、fseek
    一个简单的标准IO读写文件实例
    #include <stdio.h>      // standard input output
    #include <stdlib.h>
    #include <string.h>
    
    
    #define FILENAME    "1.txt"
    
    int main(void)
    {
        FILE *fp = NULL;
        size_t len = -1;
        //int array[10] = {1, 2, 3, 4, 5};
        char buf[100] = {0};
        
        fp = fopen(FILENAME, "r+");
        if (NULL == fp)
        {
            perror("fopen");
            exit(-1);
        }
        printf("fopen success. fp = %p.\n", fp);
        
        // 在这里去读写文件
        memset(buf, 0, sizeof(buf));
        len = fread(buf, 1, 10, fp);
        printf("len = %d.\n", len);
        printf("buf is: [%s].\n", buf);
    
    #if 0   
        fp = fopen(FILENAME, "w+");
        if (NULL == fp)
        {
            perror("fopen");
            exit(-1);
        }
        printf("fopen success. fp = %p.\n", fp);
        
        // 在这里去读写文件
        //len = fwrite("abcde", 1, 5, fp);
        //len = fwrite(array, sizeof(int), sizeof(array)/sizeof(array[0]), fp);
        len = fwrite(array, 4, 10, fp);
        printf("len = %d.\n", len);
    #endif  
        
        fclose(fp);
        return 0;
    }
    
    
    
    

    相关文章

      网友评论

          本文标题:11.标准IO库

          本文链接:https://www.haomeiwen.com/subject/skslyctx.html