open()?fopen()?
正在学习一段代码,其中有一段,先用fopen对文件进行了操作,然后又用open,不知道这样做有什么好处,请知道给我解释下~~
case OP_READ:
fprintf(stderr, "A read operation is scheduled.\n");
s_con_arg->con_mode = DATA_SRC;
s_con_arg->src_addr.pathlen = s_op_head->len - OP_HEAD_SIZE;
s_con_arg->src_addr.ppath = new char [s_con_arg->src_addr.pathlen];
memcpy(s_con_arg->src_addr.ppath, ppayload, s_con_arg->src_addr.pathlen);
s_con_arg->src_addr.ppath[s_con_arg->src_addr.pathlen] = 0;
s_con_arg->fp = fopen(s_con_arg->src_addr.ppath, "r+b");
if (NULL == s_con_arg->fp)
{
fprintf(stderr, "File %s can't be opened for read.\n", s_con_arg->src_addr.ppath);
s_op_head->ret_val = OP_SRCFILEOPEN;
ret = -1;
}
else
{
fprintf(stderr, "File %s opened for read.\n", s_con_arg->src_addr.ppath);
s_con_arg->fd = open(s_con_arg->src_addr.ppath, O_RDONLY);
if (s_con_arg->fd > 0)
{
fstat(s_con_arg->fd, &(s_con_arg->fstat));
s_op_head->filelen = s_con_arg->fstat.st_size;
}
}
break;
...全文
相关推荐
open和fopen的区别
有关open()和fopen()的区别。
linux中open函数使用
有利于你全面的了解linux下的open函数的应用及理解。。
C_src:在C语言中,您如何实现memmove()? printf()? malloc()? Linux的list_for_each()? 这是来自知名来源的C代码的集合,当您想知道如何自己实现它时可以使用它们
在C语言中,您如何实现memmove()? printf()? malloc()? Linux的list_for_each()? 这是来自知名来源的C代码的集合,当您想知道如何自己实现它时可以使用它们。 C源代码-信誉良好的参考 有时,我想知道我正在使用的某些C函数是如何实现的,例如,标准C库函数memmove() 。 该目录包含一组开放源码C代码,以用作参考。 每个目录都包含一个Sublime Text项目,这对于快速查找我要查找的内容至关重要。 由于我不需要使它们与原始存储库保持同步,因此它们只是代码的直接副本,而不是子模块或fork。 我想看的C代码运行清单: 标准库 fopen() 结构文件 printf() memmove() #include <unistd> getopt() #include <sys>吗? shm_open() #inc
php 使用fopen函数创建、打开文件详解及实例代码
主要介绍了php 使用fopen函数创建、打开文件详解及实例代码的相关资料,需要的朋友可以参考下
php打开文件fopen函数的使用说明
本篇文章是对php中的打开文件fopen函数的使用进行了详细的分析介绍,需要的朋友参考下


新手乐园

