文件io和标准io学习笔记

 标准io <stdio.h>

  •  打开文件的操作,fopen函数

fcolse()函数是匹配的关闭打开的文件接口的操作

FILE * fp = fopen("文件路径","选项");

//选项(权限):
        a+:往文件中追加内容
        r:只读取文件
        r+:可读可写
        w:程序往文件中输出内容(打开文件时会清空文件内容,文件不存在会创建文件)
        w+:文件存在了不会清空原有内容
        

//返回值:
        文件流指针

和fopen匹配的输入输出函数有

 fscanf();格式化输入

int fscanf(打开的文件接口,也就是文件流指针,输入内容在程序的存储位置);

fprintf();格式化输出

int fprintf(文件流指针,要往文件中输出内容的在程序中的位置);

fgetc();单个字符输入,每次就读取一个字符

int fgetc(文件流指针);

返回值为读取的字符的ASCII码

fputc();单个字符输出,每次就往文件中输出一个字符

int fputc(字符的ASCII码也就是要输出的字符,文件流指针);

fgets();多个字符输入,遇到特殊位置会中断,像'\0','\n'这样

char * fgets(要在程序中存储的位置, 要读取的字符大小:字节数, 文件流指针);

返回值:就是参数1

fputs();多个字符输出,直至输出到'\0'

int fputs(程序中要往文件输出的内容,文件流指针);

 

  • open();打开文件函数

文件io;有专门的库

对应的close()函数,用来关闭打开的文件接口

 #include <sys/types.h>
       #include <sys/stat.h>
       #include <fcntl.h>
int fd = open("文件路径",选项flag | 权限 );
选项(权限):
        O_RDONLY:只读
        O_WRONLY:只写
        O_CREAT:路径中没有文件就创建文件

返回值:整数
        文件描述符,表示打开的文件

 

与open()函数匹配的输入,输出函数

read();文件输入函数

int read(文件描述符,内容在程序中的位置,要读取的大小);
返回值:
        读取成功的字符个数;

write();文件输出函数

int write(fd,程序中要输出的位置,要输出的大小);
返回值:
    输出成功的字符个数;
  • fopen()与open()的打开文件时的操作的比较:
              │fopen() mode │ open() flags                  │
              ├─────────────┼───────────────────────────────┤
              │     r       │ O_RDONLY                      │
              ├─────────────┼───────────────────────────────┤
              │     w       │ O_WRONLY | O_CREAT | O_TRUNC  │
              ├─────────────┼───────────────────────────────┤
              │     a       │ O_WRONLY | O_CREAT | O_APPEND │
              ├─────────────┼───────────────────────────────┤
              │     r+      │ O_RDWR                        │
              ├─────────────┼───────────────────────────────┤
              │     w+      │ O_RDWR | O_CREAT | O_TRUNC    │
              ├─────────────┼───────────────────────────────┤
              │     a+      │ O_RDWR | O_CREAT | O_APPEND   │
              └─────────────┴───────────────────────────────┘
  • 总结

标准io中:

标准终端输入流是:stdin

标准终端输出流是:stdout

文件io中:

终端输入文件描述符:0

终端输出文件描述符:1

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值