总览 (SYNOPSIS)

#include <stdio.h>

int fgetc(FILE *stream);
char *fgets(char *s, int size, FILE *stream);
int getc(FILE *stream);
int getchar(void);
char *gets(char *s);
int ungetc(int c, FILE *stream);

描述 (DESCRIPTION)

fgetc()stream 流 中 读取 下一个 字符, 然后 从 unsigned char 类型转换 到 int 型 返回, 如果 到达 文件末尾 或 出现 错误 则 返回 EOF .

getc() 等于 fgetc() , 只是 它 可能 以 宏 的 形式 实现, 并 多次 访问 stream 流.

getchar() 等于 getc(stdin).

gets()stdin 读取 一行 字符串, 保存在 s 指向的 缓冲区 中, 读到 换行符(newline) 或 EOF 时 操作 结束, 同时 把 它们 替换为 '\0'. 该函数 不检查 缓冲区溢出 (参见 后面的 BUGS 节).

fgets()stream 流 中 读取 多至 size - 1 个 字符, 保存在 s 指向的 缓冲区 中, 读到 换行符(newline) 或 EOF 时 操作 结束, 如果 读到的 是 换行符, 把 换行符 也保存在 缓冲区 中. 函数 将在 最后一个 字符 后面 添加 一个 '\0' 字符.

ungetc()c 转换为 unsigned char 类型 并 回送到 stream 中 供 后续的 读操作 读取. 回送的 所有 字符 将按 相反的 顺序 返回; 只保证 一个 回送 操作 的 可靠.

这里 描述的 函数 可以 混合 使用, 也可以 结合 stdio 库中 其他的 输入函数 处理 同一个 输入流.

相应的 无锁函数(non-locking) 参见 unlocked_stdio(3).

返回值 (RETURN VALUE)

fgetc(), getc() getchar() 返回 从 unsigned char 类型转换 到 int 型 的 字符, 如果 操作 失败 或 到达 文件末尾 则 返回 EOF .

如果 操作 成功, gets()fgets() 返回 s 指针, 否则 返回 NULL 指针, 如果 到达 文件末尾 时 还没有 读到 字符 也返回 NULL .

操作 成功 时 ungetc() 返回 c , 否则 返回 EOF .

fgetc, fgets, getc, getchar, gets, ungetc - 输入字符和字符串的更多相关文章

  1. fgetc,getc,fputc,putc,putchar,getchar

    转自 http://blog.csdn.net/todd911/article/details/8952565 输入输出函数家族 家族名                   目的           ...

  2. 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets

    clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 ...

  3. C语言输入多组问题~ungetc回退字符到stdin

    题目描述 输入数组长度 n 输入数组      a[1...n] 输入查找个数m 输入查找数字b[1...m]   输出 YES or NO  查找有则YES 否则NO . 输入描述: 输入有多组数据 ...

  4. 009PHP文件处理——文件处理 file_get_contents file_put_contents fgetc fgets fgetss

    <?php /** * 文件处理 file_get_contents file_put_contents fgetc fgets fgetss */ //fgetc() 传入文件操作句柄.每次获 ...

  5. 利用C语言识别用户输入字符并且输出该字符ASCII码值(大小写字母篇)(含思路)

    要求:从键盘输入一个字符,如果输入字符的是小写英文字母,则将其转换为大写英文字母,然后将转换后的英文字母及其ASCII码值输出到屏幕上,如果输入的是其他字符,则不转换并且直接将它及其ASCII码值输出 ...

  6. 用 getchar putchar 来输入和接收 但是要清空缓冲区

    1 //用 getchar putchar 来输入和接收 但是要清空缓冲区 2 3 #include <stdio.h> 4 int main() 5 { 6 char ch1,ch2; ...

  7. 在java中如何用键盘输入一个数,字符,字符串

    一,利用 Scanner 实现从键盘读入integer或float 型数据 import java.util.*; public class test { public static void mai ...

  8. EditText限制输入字符类型的几种方式

    最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我 ...

  9. BufferedReader,缓冲输入字符流

    1. /** * 输入字符流: * --------|Reader 所有输入字符流的基类.抽象类 * -----------|FileReader 读取文件字符串的输入字符流. * --------- ...

随机推荐

  1. JQuery点击table获取点击行的数据

    $(function () {var TaskType = '';$("#data_table tr:gt(0)").click(function () { TaskType = ...

  2. 萌新java入门笔记

    首先声明以下内容只是散乱笔记,如果有误还望大侠指出!不胜感激! 基本数据类型: 大体和C语言类似: boolean truth = true;//逻辑型 //文字型 char c; String st ...

  3. 2016CCPC东北地区大学生程序设计竞赛

    吧啦啦啦啦啦啦啦啦啦啦啦能量,ACM,跨!变身!变成一个智障! http://blog.csdn.net/keyboarderqq/article/details/52743062

  4. 洛谷CF895C Square Subsets(线性基)

    洛谷传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 题意: 给你n个数,每个数<=70,问有多少个集合,满足集合中所有数相乘是个完全平方数(空集除外) 题解: 完全看不出这玩意儿和线性基有什 ...

  5. 区间质数查询 luoguP1865

    原题 https://www.luogu.org/problemnew/show/P1865 本来get到了一个很好的判断素数的方法 O(玄学常数)https://www.luogu.org/blog ...

  6. NodeJs前端构建工具 ——————之Grunt篇

    为何使用grunt? 如何搭建grunt? 开始第一个grunt项目 基础()合并js文件 开始第一个grunt项目 基础()压缩js 开始第一个grunt项目 基础()代码规范检测 开始第一个gru ...

  7. css水平垂直居中块整理

    1.绝对定位+负margin 兼容性很好,但需要指定子块的高度和宽度,以及负margin .wp{ position: relative; width: 200px; height: 200px; b ...

  8. Codeforces 371BB. Fox Dividing Cheese

    Two little greedy bears have found two pieces of cheese in the forest of weight a and b grams, corre ...

  9. android开发学习 ------- 仿QQ侧滑效果的实现

    需要做一个仿QQ侧滑删除的一个效果: 一开始是毫无头绪,百度找思路,找到  https://blog.csdn.net/xiaxiazaizai01/article/details/53036994  ...

  10. JS中对数组元素进行增删改移

    在js中对数组元素进行增删改移,简单总结了一下方法: 方法 说明 实例 push( ); 在原来数组中的元素最后面添加元素 arr.push("再见58"); unshift( ) ...