ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

fopen

2021-08-31 09:33:16  阅读:182  来源: 互联网

标签:fp EOF int char 缓冲区 fopen


#include <stdio.h>

struct _iobuf {
        char *_ptr;   // 下一个要被读取的字符地址
        int   _cnt;    // 剩余的字符,如果是输入缓冲区,那就表示缓冲区中还有多少个字符未被读取
        char *_base;  // 缓冲区基地址
        int   _flag;  // 读写状态标志位
        int   _file;  // 文件描述符
        int   _charbuf;
        int   _bufsiz; // 缓冲区大小
        char *_tmpfname;
        };
typedef struct _iobuf FILE;
  • 三种刷新缓冲区的操作

    • fclose
    • fflush(fp)
    • 写满

简单读写示例

#include <iostream>
#include <error.h>

int main()
{
    FILE *fp;
    char c,ret;

    fp=fopen("1.txt","r+");
    if(NULL == fp) 
    {   
        perror("fopen");
        goto error;
    }   
    /*  
    // 操作成功返回 该字符,操作失败(已经读到了文件文件末尾) 返回 “EOF”
    while((c = fgetc(fp)) != EOF){
        putchar(c);
    }
    */
    c='H';
    // 运行成功返回该字符,运行失败,返回 EOF(-1)                                                                          
    ret=fputc(c,fp);
    if(EOF != ret)
    {   
        perror("fputc");
        goto error;
    }   
    fclose(fp);
error:
    return 0;
}

标签:fp,EOF,int,char,缓冲区,fopen
来源: https://www.cnblogs.com/lodger47/p/15208817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有