输入输出相关部分主要通过标准库中提供的标准函数来实现。这些标准函数主要都在stdio.h这个头文件中。这些函数基本都以f开头,v开头,vf开头,s开头,或者sn开头,带printf,scanf,get,put等标识的函数,主要用来对内存,buffer,标准输入输出,文件等操作。
标准库中并没有提供对网络,设备或者串并口等底层的输入输出操作。这些基本都需要调用到系统函数,比如linux下的系统函数,系统调用等,比如windows下的Win API。
输入输出
即我们常说的IO操作。
主要包括
1、标准输入输出
2、文件读写
3、网络读写
4、设备读写
还有就是对内存,buffer的操作,这相当于对内存,buffer进行IO操作。这有时候对内存,buffer进行操作的时候非常方便,直接操作一块内存,而不像语言层面上通过变量或者指针去操作内存。
标准输入输出
https://www.iteye.com/blog/lobin-2517062
文件读写
读操作
int fscanf ( FILE * stream, const char * format, ... );
char * fgets ( char * str, int num, FILE * stream );
通过指定stdin可以实现标准输入。
写操作
int fprintf(FILE * stream, const char *format, ...);
int vfprintf(FILE *stream, const char *format, va_list arg);
通过指定stdout实现标准输出。
日志
日志主要是打印输出,最简单的是将日志信息直接打印到控制台上。我们通常会将日志输出到日志文件中,甚至还可以输出到设备,管道,网络中去,包括其他任何地方,以及以流的形式输出进行处理。对日志进行分析,以便对系统运行进行追踪,分析和诊断,为故障分析诊断提供有力依据。
#if ! defined(LOG) #define LOG #define __LO0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0G__(F, L, FORMAT, ARGS...) \ do { \ printf(F ":" #L " " FORMAT "\n", ARGS); \ } while (0) #define LO0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0G(F, L, FORMAT, ARGS...) \ __LO0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0G__(F, L, FORMAT, ARGS) #define __LOGN__(FORMAT, ARGS...) \ LO0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0O0G(__FILE__, __LINE__, FORMAT, ARGS) #define LOG0(S) __LOGN__("%s", S) #define LOGN(FORMAT, ARGS...) __LOGN__(FORMAT, ARGS) #endif
LOG0("this is log 0"); LOGN("this is log n, arg0=%d, arg1=%u, arg2=%c, arg3=%s", 100, 200, 'a', "this is a string"); static_function_test2.c:7 this is log 0 static_function_test2.c:8 this is log n, arg0=100, arg1=200, arg2=a, a rg3=this is a string
相关推荐
计算机组成原理课件,第五章:输入输出系统 §5.1 概述 §5.2 I/O设备 §5.3 I/O接口 §5.4 程序查询方式 §5.5 程序中断方式 §5.6 DMA方式
微机原理、汇编语言及接口技术:第6章:输入输出接口.ppt
C语言程序设计课件:第3章c语言的数据类型、表达式及输入输出.ppt
C语言程序设计:第3章 数据的输入输出.ppt
C语言程序设计:第10章 对文件的输入输出.ppt
输入电压:110~300V DC 输出电压:24VDC 输出功率:60W 电压纹波: 开关频率:100kHz单端反激变换器 技术指标: 输入电压:110~300V DC 输出电压:24VDC 输出功率:60W 电压纹波: 开关频率:100kHz单端反激变换器 ...
高级语言程序设计-第4章:C语言输入输出语句
计算机组成原理(第2版):第5章 输入输出系统.ppt
为什么需要标准输入输出?从上边的计算机内部的存储我们可以发现一个问题:不论我们输入的是数字,字符还是字符串,在计算机的内部存储的都是0/1串。这个对于存储的时候是非常方便的,对吧。但是问题来了,我们取...
8086汇编:输入输出和数组操作的一些函数
第十三章Java 输入输出流.rar第十三章Java 输入输出流.rar第十三章Java 输入输出流.rar
C语言程序设计:第三章 数据的输入输出.ppt
C语言程序设计:第3章 基本运算与输入输出
C++课件第10章:流类库和输入输出(PPT文档).ppt
C语言程序设计:第六部分 输入输出与格式控制.ppt
#c语言#的问题:输出格式输出提取出来的数字字符串,每个连续数字字符串占一行(相关搜索:字符串长度|输入字符串 #c语言#的问题:输出格式输出提取出来的数字字符串,每个连续数字字符串占一行(相关搜索:字符串...
C语言程序课件:第10章 对文件的输入输出.ppt
C语言程序设计各章节习题练习:输入和输出文件.doc
C语言程序设计:第3章 基本运算与输入输出.ppt