机试练习总结06:c语言输入&输出&文件读写

Posted alyssayoung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机试练习总结06:c语言输入&输出&文件读写相关的知识,希望对你有一定的参考价值。

一、标准文件

c语言把所有设备当作文件。

stdin:键盘、标准输入

stdout:屏幕、标准输出

stderr:您的屏幕、标准错误

头文件:stdio.h

二、getchar() & putchar()

int getchar(void) 从屏幕读取下一个可用字符,并用它返回为一个整数。

int putchar() 该函数同一时间内只会输出一个单一的字符。

三、gets() & puts() 函数

char *gets(char *s) 从stdin读取一行到s所指向的缓冲区,直到一个终止符或EOF。

int puts(const char *s) 把字符串s和一个尾随的换行符写入到stdout。

四、scanf() & printf() 函数

int scanf(const char *format, ...) 函数从标准输入流 stdin 读取输入,并根据提供的 format 来浏览输入。

int printf(const char *format, ...) 函数把输出写入到标准输出流 stdout ,并根据提供的格式产生输出。

五、文件读写——创建、打开、关闭文本或二进制文件

1. 打开文件

fopen()函数创建一个新的文件或者打开一个已有的文件

FILE *fopen( const char * filename, const char * mode );

mode可以是以下值中的一个: 

r:打开一个已有文件,允许读取;

w:打开一个文本文件,允许写入;如果文件不存在,则创建一个新文件;

a: 打开一个文本文件,以追加模式写入文件;如果文件不存在,则创建一个新文件;

r+:打开一个文本文件,允许读写文件;

w+:打开一个文本文件,允许读写文件;如果文件已存在,则文件会被截断为零长度;如果文件不存在,则会创建一个新文件;

a+:打开一个文本文件,允许读写文件;如果文件不存在,则会创建一个新文件;读取会从文件的开头开始,写入只能是追加模式。

若读取的是二进制文件,则需使用下面的访问模式代替上面访问模式:

"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

2.关闭文件

fcolse()函数

int fclose( FILE *fp );

如果成功关闭文件,fclose()函数返回0,如果关闭文件时发生错误,函数返回EOF。这个函数实际上,会清空缓存区中的数据,关闭文件,并释放用于该文件的所有内存。

EOF是一个定义在头文件stdio.h中的常量。

3.写入文件

fputs()

int fputs( const char *s, FILE *fp );

把字符串s写入fp所指向的输入流。写入成功,返回写入的字符;如果发生错误,则返回EOF。

也可以使用 int fprintf(FILE *fp,const char *format, ...) 函数来写把一个字符串写入到文件中。

4. 读取文件

(1)从文件中读取单个字符

int fgetc( FILE * fp );

返回值是读取的字符,如果错误,返回EOF。从fp所指向的输入流中读取一个字符。

(2)从fp所指向的输入流中读取n-1个字符

char *fgets( char *buf, int n, FILE *fp );

把读取的字符串复制到缓冲区buf,并在最后追加一个null字符来终止字符串。如果这个函数在读取最后一个字符之前就遇到一个换行符 ‘ ‘ 或文件的末尾 EOF,则只会返回读取到的字符,包括换行符。

也可以使用 int fscanf(FILE *fp, const char *format, ...) 函数来从文件中读取字符串,但是在遇到第一个空格字符时,它会停止读取。

 

以上是关于机试练习总结06:c语言输入&输出&文件读写的主要内容,如果未能解决你的问题,请参考以下文章

华为机试练习数字颠倒

华为机试练习取近似值

华为机试练习提取不重复的整数

独家华为OD机试 - 最长连续交替方波信号(C 语言解题)

C语言代码练习,将三个数按从大到小的顺序输出

华为机试练习计算字符个数