标准输入流 特别的,如果数据是从键盘上读取的,我们把提供数据的键盘称为标准输入流对象,简称为“标准输入流”(standard input stream),C语言用stdin表示键盘。标准错误刘 另外,程序中的错误信息当需要输出到屏幕上时,为了和其他输出信息区别开来,C语言把屏幕看做stderr对象(类似于stdout,即standard error ...
比如,把内存中数据输出到屏幕,是内存中的数据“流出”到屏幕,我们把屏幕看做“输出流”对象(output stream to screen object);从键盘上接受输入的数据,是数据从键盘“流入”到内存,我们把键盘看做“输入流”对象(input stream from keyboard object);把数据保存到文件,是“流出”到文件,我们把此时打开的文...
如果想了解C语言文件流的详细用法,包括文件流的对象模型、文件流的各种操作函数有哪些,以及详细的知识图谱,可以阅读本系列文章的第二篇《C语言输入输出流(2)文件对象和文件操作函数的详细分类》。打开文件:fopen函数 功能:将一个文件从“未使用”(关闭)状态变成“打开”状态。打开这个文件的目的是为了实现能够...
但是windows系统因为历史遗留原因,我们在文本文件中按下“enter”键时,实际上是输入的是回车符和换行符的组合,在ASCII码里回车符是”\r”,换行符是”\n”,因此按下ENTER键,实际上是输入了”\r\n”,在存储时windows把”\r\n”转换成了”\n”,在输出显示时,又把”\n”转换成了”\r\n”,以保证按...
如果希望能原样输出,就可以在printf函数中的%f中间插入%0.2f,或者%后面直接是小数点,省略数字,即%.2f,表示输出的小数无论存储的是小数点后多少位,输出的时候只显示小数点后2位。键盘输入了大于2位小数,比如3.14159,输出的时候也只能是3.14。但是,scanf函数中的float型变量占位符中间不能插入小数点后位数...
《C语言输入输出流(8) 三种I/O模式和fread、fwrite、feof、ferror》写在ungetc函数之前 C语言标准库提供了大量的把数据写入到文件的输出函数,以及从文件读取数据的输入函数。写入数据其实是写入到文件输出缓冲区,系统会自动将数据写入到文件保存,或者手动强制写入(fflush函数),由此可见,文件输出缓冲区只能被内存中...
文件I/O标准流I/O 按照数据处理的特点分:直接I/O无格式I/O有格式I/O 按照字符特性来分:窄字符I/O宽字符I/O 本期主要介绍直接输入输出函数fread函数和fwrite函数,以及对函数执行失败后进行错误检查和处理的关联函数feof函数和ferror函数。其他函数会在后面文章中介绍。文件的输入输出按照上面的分类方法有如下...
具体细节可以参看《C语言输入输出流(4)文本模式、二进制模式和强制模式》。要点3:文本模式打开的文件后,ftell函数的正确用法只能适用于下面的语句:fseek(fp,ftell(fp),SEEK_SET)fssek函数的具体用法后面会详细讲解,在这个时候ftell函数才能正确地返回文件位置。要点4:当以追加模式打开时(a),在没有追加数据...
如果文件顺利打开,它将返回这个指针;如果文件打开失败,它将返回NULL,并将错误代码存储在全局变量errno中,用perror函数可以输出。错误代码列表参见我的专栏文章。下面是一个使用freopen函数的简单例子。这个例子中将标准输入流stdin重定向到一个名为foo.txt的文件,并从该文件中读取数据:#include <stdio.h> ...
本期我们介绍文件流的无格式输入输出函数:fgetc函数和getc函数 fgetc函数从文件流读取一个窄字符,然后文件指针自动后移,并返回字符的ASCII码值。int fgetc(FILE *stream);返回值 函数执行成功将返回当前位置的字符的整型值(ASCII码值),当函数执行失败时,返回EOF的值(-1),无论执行成功或失败,文件指针都会...