2 qq 30080901 qq_30080901 于 2016.01.29 12:30 提问

C语言里面open函数用法优化问题

关于open用法,是及时打开处理后再及时关闭这种用法好,还是打开后用全局变量保存描述符
直到结束该文件的操作后再关闭的用法好

3个回答

ouchao0727
ouchao0727   2016.01.29 23:08
已采纳

这种也要看情况而定吧,打开一次效率会比较高,因为调用open会从用户态切换到内核态,需要花费很多时间,但有的时候为写入内容特别重要,实时写入到硬盘可以保证数据没那么容易丢失

caozhy
caozhy   Ds   Rxr 2016.01.29 23:14

取决于你是否希望在你程序运行的时候别的程序可以读写你的文件。如果是,那么就把文件一直保持打开。否则及时关闭。至于效率,可以忽略不计。

kevin_wang
kevin_wang   2016.01.29 13:50

从效率上来讲,打开一次,保存handle, 随时去使用,这样会有比较高的效率,因为打开关闭文件实际上是要消耗资源的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言文件操作函数open、write用法速记
以前一直都是用fopen、fwrite等高级函数写文件,这次尝试用open、write、close操作文件。代码如下: int ret = OB_SUCCESS; int fd = open(config_file, O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU | S_IRWXG | S_IRWXO); stat
openat函数用法示例
//http://m.blog.csdn.net/article/details?id=47796173 《Unix环境高级编程》的第三章和第四章出现了大量的以at结尾的函数,如openat、fstatat等,书中只是粗略的说明了下,没有实际的例子让人很难懂。 int openat(int dirfd, const char *pathname, int flags, mode_t
Linux编程下open()函数的用法
Linux编程下open()函数的用法 open(打开文件)  相关函数:  read,write,fcntl,close,link,stat,umask,unlink,fopen  表头文件 : #include #include #include  定义函数:  int open( const char * pathname, int flags); int ope
C语言open,read,write函数,及文件读写
open 头文件:#include    #include    #include 定义函数:     int open(const char * pathname, int flags);     int open(const char * pathname, int flags, mode_t mode); 函数说明: 参数 pathname 指向欲打开的文件路径
Search()函数使用方法
-
substr(),strstr()函数用法
#include #include using namespace std; int main() { string s="abcdefg"; string s1=s.substr(2,6);//s1为字符串s起始位置为2,长度为6的一段字符串,注意s的位置是从0开始的,即‘a'的位置为0 cout<<"s1="<<s1<<endl; string s2=s
粒子群算法求解优化问题(c实现)
#include"stdio.h" #include "math.h" #include "stdlib.h" #include "time.h" #define N 100 //最大粒子数 #define D 10 //最大问题维数 double fitness(double x[],int n); typedef double (*funType)(double [],int n);
优化方法之用单纯形法求解约束线性规划问题的C语言实现
本人亲测,程序无误,但是需要看程序的说明。内涵附件为:C程序源代码,和连接生成的Windos下可执行文件。 调试平台Tuobo C 2.0 声明:用来应付考试的人请把里面的作者名字改掉,出事儿了别怪我没提醒你,呵呵。 程序是自己写得,写得不好大家多多包涵,欢迎多提宝贵意见,本人非计算机出身,对编程不是很感冒,所以数据结构比较混乱,望见谅,当然,不耽误程序使用。只是搞的有点儿复杂。程序是自己写的。所以分值稍微高点儿,也算是对我自己一个月的辛苦的小小安慰吧。
打开文件open()函数的使用方法详解--C语言函数
头文件:#include    #include    #include 定义函数:     int open(const char * pathname, int flags);     int open(const char * pathname, int flags, mode_t mode); 函数说明: 参数 pathname 指向欲打开的文件路径字符串. 下
C语言之memset函数的使用
转自:老生常谈,正确使用memset 本文归纳了下使用memset几个需要注意的地方,虽然内容很简单,但也希望对大家有所帮助。 1. memset是以字节为单位,初始化内存块。 当初始化一个字节单位的数组时,可以用memset把每个数组单元初始化成任何你想要的值,比如: char data[10]; memset(data, 1, sizeof(data));