C语言 (c语言零基础入门到精通)
本文目录导航:
C语言——文件操作
为了使数据更长久地储存,C语言提供了文件操作功能。
文件可以分为程序文件和数据文件,其中程序文件包括源文件、目标文件、可执行文件;数据文件则在程序运行过程中可以进行读写操作。
文件由文件路径、文件名和文件后缀三部分组成。
文件操作通过FILE类型和FILE指针实现。
使用头文件stdio.h进行文件的打开和关闭操作。
文件打开后,需要在不使用时关闭以释放资源。
文件打开和关闭函数fopen返回FILE*类型指针,成功则返回文件流指针,失败返回空指针。
fclose函数关闭文件,返回值为int类型,成功返回0,失败返回非零值。
文件读写函数包括fgetc和fputc。
fgetc从流中读取一个字符,返回为int类型,失败时返回EOF。
fputc函数向流中写入一个字符,成功返回写入的字符,失败返回EOF。
文件顺序读写函数fputs和fgets分别用于将字符串写入流中或从流中读取字符串。
fputs返回非负值,失败返回EOF。
fgets读取流中最多n-1个字符至字符串中,遇到换行符或文件结束停止读取,返回字符串;若未读取字符,返回空指针。
文件格式化读写函数fprintf和fscanf用于数据的读取和写入,与printf和scanf的用法类似。
文件读写函数fread和fwrite用于读写数组数据。
fread从流中读取数据至数组,fwrite将数组数据写入流中。
文件随机读写函数fseek用于设置文件流的文件位置指示器指向位置,ftell用于获取当前位置,rewind用于将位置指示器重置到文件开头。
文件类型分为文本文件和二进制文件,文本文件将内存数据以ASCII形式存储,二进制文件则直接按数据在内存中的形式存储。
文件读取结束的判定使用ferror和feof函数,ferror返回非零值表示文件出现错误,feof返回非零值表示文件到达尾部。
无论是读还是写,都从缓冲区中拿取数据。
文件缓冲区在操作过程中存储数据,提高读写效率。

xp开机提示无法打开c:\boot.ini文件,无法更改操作系统及超时设置怎么办
电脑使用过程中总会遇到各种各样的问题,最近有用户表示xp系统开机就提示“无法打开c:\文件,无法更改操作系统及超时设置”,文件主要是用来确定电脑在重启过程中显示的可供选取的操作系统类别,怎么解决?对此,下面小编就为大家分享具体解决方法。
解决方法:1、因为这个文件是隐藏文件,所以先要设置隐藏的系统文件选项,打开“文件夹选项”;2、在“查看”选项卡,取消勾选“隐藏受保护的操作系统文件(推荐)”,再选择“显示所有文件和文件夹”,点击确定;3、进入C盘,找到文件,右击打开属性;4、取消勾选“只读”属性,点击确定;5、用记事本方式打开文件,如果里面的内容不见了,则复制以下代码并粘贴到文件中:[bootloader]timeout=5default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS[operatingsystems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=“MicrosoftWindowsXPProfessional”/noexecute=optin/fastdetect完成后,保存,然后再把“只读”属性勾选上即可;6、假如没有在C盘里找到这个文件,那么有可能是该文件被误删了,可以重新创建一个,打开“记事本”;7、同样粘贴上述的代码;8、点击另存为,保存到C盘下,将文件保存为“”,文件类型为“所有文件”,点击保存即可。
参考以上教程设置之后,轻松解决xp系统开机提示“无法打开c:\文件,无法更改操作系统及超时设置”的问题,欢迎大家一起来修复!
关于c语言的文件操作
int rfp;rfp = open(filename, 1);//打开文件名为filename的文件lseek(rfp, 127, SEEK_SET); //将该文件读写位置设置为127(即第128个字节)write(rfp, one_str, 26);//往该文件的当前位置写入one_str数组的前26个字节函数原型:int open(const char *path, int access,int mode);作用:以各种方式打开文件返回值:返回打开的文件句柄,-1 打开失败输入参数说明:path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下:O_RDONLY1 只读打开 O_WRONLY2 只写打开O_RDWR4 读写打开函数原型:long lseek(int handle,long offset,int fromwhere)功能:把文件指针移动到fromwhere所指的地址加上offset新位置的偏移上。
参数:handle=open()函数的返回值(文件句柄);fromwhere=文件位置SEEK_SET(0)从文件头位置;SEEK_CUR(1)从当前文件指针位置;SEEK_END(2)从文件结尾位置)函数原型:int write(int handle,char *buf,unsigned len) 用法:write(文件句柄,缓冲区地址,缓冲区字节长度<最大>); 功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。
对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中; 返回值:实际写入的字节数(不包括回车符),出错时返回-1。