getchar,putchar等函数详解

12 篇文章 0 订阅

fgetc (由文件中读取一个字符)

头文件: include<cstdio>

函数声明: int fgetc(FILE * stream);

说明:

  • fgetc()从参数stream所指的文件中读取一个字符.若读到文件尾而无数据时便返回EOF.
  • 字符读取函数fgetc()可从文件数据流中一次读取一个字符,然后读取光标移动到下一个字符,并逐步将文件的内容读出

返回值 : getc() 会返回读取到的字符,若返回 EOF 则表示到了文件尾

fputc(将一指定字符写入文件流中)

头文件: #include<cstdio>

函数声明: int fputc(int c,FILE * stream);

说明:

  • fputc 会将参数c 转为 unsigned char 后写入参数 stream 指定的文件中.
  • 其意 putc 函数的使用几点说明:
    • 被写入的文件可以用写、读写、追加方式打开,用写或读写方式,写入字符时是从文件首开始的.如需保留原有文件内容,希望写入的字符,被写入的文件若不存在,则创建该文件.
    • 每写入一个字符,文件内部位置指针向后移动一个字节.
    • fputc 函数有一个返回值,如写入成功则返回写入的字符,否则返回一个 EOF .可用此来判断写符,写入一个文件,再把该文件内容读出显示在屏幕上.

返回值: fputc() 会返回写入成功的字符,即参数 c.若返回 EOF 则代表写入失败.

fgets(由文件中读取一字符串)

头文件: #include<cstdio>

函数声明: char * fgets(char * s,int size,FILE * stream);

说明: fgets() 用来从参数 stream 所指的文件内读入字符并存到参数 s 所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上 NULL 作为字符串结束.

返回值: gets() 若成功则返回 s 指针,返回 NULL 则表示有错误发生.  


fputs(将一指定的字符串写入文件内)

头文件: #include<cstdio>

函数声明: int fputs(const char * s,FILE * stream);

说明: fputs() 用来将参数 s 所指的字符串写入到参数 stream 所指的文件内.

返回值: 若成功则返回写出的字符个数,返回 EOF 则表示有错误发生.


fprintf 与 fscanf(将指定字符写磁盘文件)

函数声明:

  • _CRTIMP int __cdecl fprintf(FILE *, const char *, ...);
  • _CRTIMP int __cdecl fscanf(FILE *, const char *, ...);

说明: 它们与 printf 和 scanf 函数相仿,都是格式化读写函数.不同的是:fprintf 和 fscanf 函数的读写对象不是终端(标准输入输出),而是磁盘文件.printf 函数是将内容输出到终端(屏幕),因此,fprintf 就是将内容输出到磁盘文件了


getc(由文件中读取一个字符)

头文件: #include<cstdio>

函数声明: int getc(FILE * stream);

说明: 

  • getc() 用来从参数 stream 所指的文件中读取一个字符.若读到文件尾而无数据时便返回 EOF
  • getc() 与 fgetc() 作用相同,但 getc() 为宏定义,非真正的函数调用.

返回值: getc() 会返回读取到的字符,若返回 EOF 则表示到了文件尾.


getchar(由标准输入设备内读进一字符)

头文件: #include<cstdio>

函数声明: int getchar(void);

说明: 

  • getchar() 用来从标准输入设备中读取一个字符.然后将该字符从 unsigned char 转换成 int 后返回
  • getchar() 非真正函数,而是 getc(stdin) 宏定义

返回值: getchar()会返回读取到的字符,若返回EOF则表示有错误发生.


gets(由标准输入设备内读进一字符串)

头文件: #include<cstdio>

函数声明: char * gets(char *s);

说明: gets() 用来从标准设备读入字符并存到参数 s 所指的内存空间,直到出现换行字符或读到文件尾为止,最后加上 NULL 作为字符串结束,由于 gets() 无法知道字符串 s 的大小,必须遇到换行字符或文件尾才会结束输入,因此容易造成缓冲溢出的安全性问题.建议使用 fgets() 取代

返回值: gets() 若成功则返回 s 指针,返回 NULL 则表示有错误发生.


putc(将一指定字符写入文件中)

头文件: #include<cstdio> 

函数声明: int putc(int c,FILE * stream);

说明:

  • putc() 会将参数 c 转为 unsigned char 后写入参数 stream 指定的文件中
  • putc() 与 fputc()作用相同,但 putc() 为宏定义,非真正的函数调用.

返回值: putc() 会返回写入成功的字符,即参数 c.若返回 EOF 则代表写入失败.


putchar(将指定的字符写到标准输出设备)

头文件: #include<cstdio>

函数声明: int putchar (int c);

说明:

  • putchar() 用来将参数 c 字符写到标准输出设备.
  • putchar() 非真正函数,而是 putc(c,stdout) 宏定义.

返回值: putchar() 会返回输出成功的字符,即参数 c.若返回 EOF 则代表输出失败.


puts(由标准输入设备内读进一字符串)

头文件: #include<cstdio>

函数声明: int puts(char *s);

说明:  把函数的字符串写到标准输出流 stdout,在输出流中用换行符('\n')替换字符串中的结束符null 字符('\0 ') 

返回值: puts() 若成功则返回正的非零值,返回 EOF 则表示有错误发生.


ungetc(将指定字符写回文件流中)

头文件: #include<cstdio>

函数声明: int ungetc(int c,FILE * stream);

说明: ungetc() 将参数 c 字符写回参数 stream 所指定的文件流.这个写回的字符会由下一个读取文件流的函数取得.

返回值: 成功则返回 c 字符,若有错误则返回 EOF.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值