输入输出函数

相关函数

  • perror
  • void perror (const char* str);
  • 以一种简单统一的方式报告错误,如果perror参数str不是NULL,并指向一个字符串,perror函数先打印这个字符串,然后跟着输出一个分号赫尔一个空格,接着输出错误信息

exit

  • void exit (int status);
  • 参数status返回给操作系统,用于提示程序是否正常完成,符号EXIT_SUCCESS和EXIT_FAILURE表示成功和失败返回

I/O概念

  • 文本流:在不同的系统中实现不太相同
  • 二进制流:字节是安装程序编写他们的形式写入到文件和设备中,而且完全根据他们从文件或设备读取的形式读入到程序

文件

  • 用数据结构FILE访问一个流
  • 每一个C程序至少打开三个流:标准输入(stdin)、标准输出(stdout)、标准错误(stderr),它们都是指向FILE结构的指针

I/O常量

  • EOF:文件结束标志,表示文件到了结尾
  • FOPEN_MAX:一个程序最多打开文件数
  • FILENAME_MAX:文件名的最大长度

I/O函数

fopen

  • FILE* fopen (cosnt char* filename, const char* mode);
  • 打开流,如果成功打开文件返回指向这个文件的指针,否则返回NULL,mode代表访问模式,r:以只读的方式打开文件,文件必须存在;w:打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失,若文件不存在则创建文件;a:以附加方式打开只写文件,若文件存在则写入的数据会加到文件尾,即原来文件会保留,若文件不存在则创建文件;r+:以可读写方式打开文件,文件必须存在;w+:打开可读写文件,若文件存在则文件长度清为0,即该文件内容会消失,若文件不存在则创建文件;a+:以附加方式打开可读写文件,若文件存在则写入的数据会加到文件尾,即原来文件会保留,若文件不存在则创建文件

fclose

  • int fclose (FILE* stream);
  • 关闭流,如果成功关闭文件返回0,否则返回EOF(-1)

getchar

  • int getchar (void);
  • 从标准输入获取一个字符,失败返回EOF

putchar

  • int putchar (int character);
  • 向标准输出流输出一个字符,失败返回EOF

getc/fgetc

  • int getc (FILE* stream);
  • int fgetc (FILE *stream);
  • 从流中获取字符,失败返回EOF

putc/fputc

  • int putc (int character, FILE* stream);
  • int fputc (int character, FILE* stream);
  • 将字符写入流,失败返回EOF

gets

  • char* gets (char* str);
  • 从标准输入获取字符串,失败返回NULL

puts

  • int puts (const char* str);
  • 向标准输出流输出字符串,失败返回EOF

fgets

  • char* fgets (char* str, int num, FILE* stream);
  • 读取stream的数据,每次读取一行,每次最多读取num-1个字符(第num字符为'\0'),如果文件该行不足num个字符,则读完就结束,读完返回str,失败返回NULL

fputs

  • int fputs (const char* str, FILE* stream);
  • 向指定的文件写入字符串,成功返回一个非负值,失败返回EOF

scanf

  • int scanf (const char* format, ...);
  • 从标准输入读取格式化数据,成功返回读入数据的项数,失败返回EOF

printf

  • int printf (const cahr* format, ...);
  • 向标准输出输出格式化数据,成功返回写入字符的总数,失败返回负数

fscanf

  • int fscanf (FILE* stream, const char* format, ...);
  • 从流中读取格式化数据,成功返回填充参数列表的项数,失败返回EOF,当遇到空格和换行时结束

fprintf

  • int fprintf (FILE* stream, const char* format, ...);
  • 将格式化数据写入流,成功返回写入字符总数,失败返回负数
  • fread
  • size_t fread (void* ptr, size_t size, size_t count, FILE* stream);
  • 从流中读取数据,返回读取元素的总数,每个元素size个字节,共有count个元素,ptr指向存放数据的空间,大小至少是count字节

fwrite

  • size_t fwrite (const void* ptr, size_t size, size_t count, FILE* stream);
  • 将数据写入流,返回写入的元素总数,每个元素size个字节,共有count个元素,ptr指向存放数据的空间,大小至少是count字节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值