C与指针——输入输出

错误定位

当一个库函数出错时,errno会被重置

c 复制代码
perror(const char* s);\\输出s: + errno 对应的错误信息
\\如果单独想要错误信息可以
char* e = strerror(errno);\\系统错误码转换为对应的错误信息字符串

输出缓冲区

一般输出缓冲区满的时候才刷新,也就是显示到屏幕上。但是有的输出我们可能希望立即刷新。

c 复制代码
printf("do something");
fflush(stdout);\\立即刷新,不管是否输出缓冲区满

FILE

1、这是一个数据结构,用于访问一个流。不要和文件混淆。

2、一个程序至少有三个流,标准输出流stdout,标准输入流stdin,标准错误流stderr.他们都对应一个指向FILE结构的指针。标准流不需要打开和关闭。

3、fopen 和 fclose用于打开/关闭一个流。通常是文件的操作,即当我们需要处理一个文件时,我们会打开一个对应的流,返回FILE*。

常见IO操作

c 复制代码
1、只用于stdout,stdin的输入输出(隐含使用了这两个流)
getchar();putchar();\\输入输出字符
gets();puts();\\输入输出一行
scanf();printf();\\格式输入输出。
2、适用所有流的
fgetc();fputc();
fgets();gputs();
fscanf();fprintf();
相关推荐
编程乐趣28 分钟前
推荐一个基于C#开发的跨平台构建自动化系统!
开发语言·c#·自动化
好奇的菜鸟2 小时前
如何重新安装 Rust
开发语言·后端·rust
mzhan0172 小时前
Python: file: encode: ‘gbk‘ codec can‘t encode character ‘\xe5‘ in position
开发语言·python
电院工程师2 小时前
SM3算法C语言实现(无第三方库,带测试)
c语言·算法·安全·密码学
上课耽误学习2 小时前
一生一芯 PA2 RTFSC
开发语言·一生一芯
Smartdaili China2 小时前
使用 Python 抓取亚马逊产品数据: 分步指南
开发语言·爬虫·python·网络爬虫·亚马逊·抓取·爬取
尤物程序猿2 小时前
BufferPool 缓冲池类的理解,手写一个BufferPool 缓冲池
java·开发语言·python
H2122021652 小时前
P7 QT项目----会学天气预报(完结)
开发语言·qt
qq_366086223 小时前
mybatis-plus一对多关联查询
java·开发语言·mybatis
aashuii5 小时前
go客户端ssh交换机
开发语言·golang·ssh