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();
相关推荐
FRing0316 分钟前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
Fatbobman(东坡肘子)1 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
开发语言·人工智能·redis·ios·swiftui·iphone·swift
揽星河..1 小时前
【C语言】底层程序设计
c语言·开发语言
JavaPub-rodert2 小时前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang
海的透彻3 小时前
dockerfile如何快速构建容器(java服务)
java·开发语言
code2cat3 小时前
Java工具篇之Gradle:用任务图组织构建与交付
java·开发语言·单元测试·gradle
北京中科新远科技3 小时前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
xiaoye-duck3 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
AI源码4 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
旖旎夜光4 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习