欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一起talk C栗子吧( 第一百四十回:C语言实例--文件操作:基于文件描述符三)

程序员文章站 2022-12-05 10:26:42
各位看官们,大家好,上一回中咱们说的是基于文件描述符进行文件操作的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk c栗子吧! 看官们,我们在上一回中详细...

各位看官们,大家好,上一回中咱们说的是基于文件描述符进行文件操作的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk c栗子吧!

看官们,我们在上一回中详细地介绍了文件操作相关的调用。不过,没有举具体的例子。我们的主要内容就是举例子,因此,今天我们将通过具体的例子来说明如果使用系统调用来操作文件。

对文件的操作,还是使用我总结的文件操作三步曲比较好:

fd = open(file_name,flags_read);          //打开文件
fd = open(file_name,flags_create,mode);   //创建文件
res = write(fd,buf,size*sizeof(char));    //向文件写入数据
res = read(fd,buf,size*sizeof(char));     //从文件中读取数据
res = close(fd);                          //关闭文件

看官们,我要强调一下:文件操作很容易发生错误,因此必须检查文件操作的结果。在我们的例子代码中对每一个文件操作的结果都进行了检查。下面是一个检查的例子,请参考:

    if(-1 == res)
    {
        printf("read data failed \n");

        close(fd);
        return 1;
    }
    else
        printf("read %d chars from file,they are %s \n",res,buf);

希望大家能够从例子中明白检查文件操作结果的重要性,进而养成良好的习惯。

看官们,以上是核心代码,完整的代码放到了我的资源中,大家可以下载使用。

在代码中我们首先创建一个名叫test的文件,然后向该文件中写入数据,最后关闭该文件,释放与文件关联的文件描述符。接下来我们以只读的方式打开该文件,然后从文件中读取数据,并且输出到终端中,最后关闭该文件,释放与文件关联的文件描述符。

下面是程序的运行结果:

write 16 chars into file 
read 16 chars from file,they are hello word 

各位看官,关于文件操作:基于文件描述符的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。