标准C I/O

挑几个常用的写:

 #include <stdio.h>

标准输入/输出(STDIN/STDOUT)

int getchar();    //从STDIN(标准输入)获取并返回下一个字符
char *gets(char *str);    //从STDIN(标准输入)读取字符并把它们加载到str(字符串)里,直到遇到新行(\n)
int putchar( int ch );    //把ch写到STDOUT(标准输出)    
int puts( char *str );    //把str(字符串)写到STDOUT(标准输出)
int scanf( const char *format, ... );    //根据由format(格式)指定的格式从stdin(标准输入)读取,并保存数据到其它参数.
int printf( const char *format, ... );    //根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中.

scanf输入格式

控制字符 说明
%c 一个单一的字符
%d 一个十进制整数
%i 一个整数
%e, %f, %g 一个浮点数
%o 一个八进制数
%s 一个字符串
%x 一个十六进制数
%p 一个指针
%n 一个等于读取字符数量的整数
%u 一个无符号整数
%[] 一个字符集
%% 一个精度符号

printf输出格式

Code 格式
%c 字符
%d 带符号整数
%i 带符号整数
%e 科学计数法, 使用小写"e"
%E 科学计数法, 使用大写"E"
%f 浮点数
%g 使用%e或%f中较短的一个
%G 使用%E或%f中较短的一个
%o 八进制
%s 一串字符
%u 无符号整数
%x 无符号十六进制数, 用小写字母
%X 无符号十六进制数, 用大写字母
%p 一个指针
%n 参数应该是一个指向一个整数的指针
指向的是字符数放置的位置
%% 一个'%'符号

 文件流

FILE *fopen( const char *fname, const char *mode );//打开由fname(文件名)指定的文件, 并返回一个关联该文件的流.如果发生错误, fopen()返回NULL. mode(方式)是用于决定文件的用途(例如 用于输入,输出,等等) 
int fclose( FILE *stream );//关闭给出的文件流, 释放已关联到流的所有缓冲区
int feof( FILE *stream );//在到达给出的文件流的文件尾时返回一个非零值.
int fread( void *buffer, size_t size, size_t num, FILE *stream );//读取[num]个对象(每个对象大小为size(大小)指定的字节数),并把它们替换到由buffer(缓冲区)指定的数组. 数据来自给出的输入流.
int fwrite( const void *buffer, size_t size, size_t count, FILE *stream );//从数组buffer(缓冲区)中, 写count个大小为size(大小)的对象到stream(流)指定的流.
//fgetc(),fgets(),fputc(),fputs(),fscanf(),fprintf()可参考同理上一节:标准输入/输出

fopen打开方式

Mode(方式) 意义 备注
"r" 打开一个用于读取的文本文件  文件必须存在
"w" 创建一个用于写入的文本文件  文件存在,则清除内容;文件不存在,则自动创建文件。
"a" 附加到一个文本文件  文件存在,则保留内容,写入的数据会被加到文件尾,即EOF符保留;文件不存在,则自动创建文件。只写
"rb" 打开一个用于读取的二进制文件  b表示二进制文件
"wb" 创建一个用于写入的二进制文件  
"ab" 附加到一个二进制文件  
"r+" 打开一个用于读/写的文本文件 +号表示可读可写
"w+" 创建一个用于读/写的文本文件  
"a+" 打开一个用于读/写的文本文件  
"rb+" 打开一个用于读/写的二进制文件  
"wb+" 创建一个用于读/写的二进制文件  
"ab+" 打开一个用于读/写的二进制文件  
int fgetpos( FILE *stream, fpos_t *position );//保存给出的文件流(stream)的位置指针到给出的位置变量(position)中. 
int fsetpos( FILE *stream, const fpos_t *position );//把给出的流的位置指针移到由position对象指定的位置.

猜你喜欢

转载自www.cnblogs.com/fr-ruiyang/p/8920446.html