C库文件操作函数-创新互联
标准库中的函数,类型以及宏在下面的标准头文件中定义:
目前创新互联已为数千家的企业提供了网站建设、域名、网站空间、网站托管、服务器租用、企业网站设计、门头沟网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。该头文件中定义的输入和输出函数、类型以及宏的数目几乎占整个标准库的三分之一。
流:是与磁盘或其它外围设备关联的数据的源或目的地。
文本流:由文本行组成的序列,每一个行包含0个或多个字符,并以‘\n’结尾。
二进制流:由未经过处理的字节构成的序列。
程序开始执行时,stdin、stdout和stderr这三个流已经处于打开状态。
FILE* fopen(const char* filename, const char* mode)
此函数打开filename指定的文件,并返回一个与之相关联的流,打开失败返回NULL;
访问模式(mode):
“r”:以读方式打开文本文件。
“w”:以写方式打开文件文本。
“a”:追加;打开或者新建一个文本文件,并向文件末尾追加内容。
“r+”:打开文本文件用于更新(读和写)。
“w+”:打开或者新建文本文件用于更新,并删除原有内容。
“a+”:追加:打开或者新建文本文件用于更新,并向末尾追加内容。
后面三种方式可以对同一个文件操作,但在读和写的交叉过程中,必须调用fflush函数
或者文件定位函数。
FILE* freopen(cosnt char* filename, const char* mode,FILE* stream)
此函数指定模式打开文件,并将文件关联到指定的流,返回stream;出错返回NULL;一般用于改变与stdin、stdout和stderr相关的文件。
int fflush(FILE* stream)
对输出流来说,fflush函数将已写到缓存区但没有写入文件的所有数据写入文件。失败返回EOF否则返回0.fflush(NULL)将清洗所有的输出流。
int fclose(FILE* stream)
将所有没写入的数据写入stream,丢弃缓存区的所有未读输入数据,并释放自动分配的缓存区,最后关闭流;出错返回EOF,否则返回0。
int remove(const char* filename)
删除指定的文件,删除失败返回一个非0值。
int rename(const char* oldname, const char* newname)
修改文件的名称,失败返回非0值。
FILE* tmpfile(void)
该函数以“w+b”模式新建一个临时文件,程序结束时,自动删除;创建成功返回一个流,失败返回NULL。
int setvbuf(FILE* stream, char* buf,int mode, size_t size)
该函数控制流的缓冲;在执行读、写以及其他任何操作之前必须调用此函数。当模式的值为_IOFBF时,将进行完全缓冲;模式为IOLBF时,将对文件进行缓冲;当模式为_IONBF时表示不缓冲,表示不设置缓冲。如果buf的值不是NULL,则函数将buf指向的区域作为流的缓冲区,否则将分配一个缓冲区,size表示缓冲区的长度。函数操作失败,返回一个非0值。
void setbuf(FILE* stream, char* buf)
如果buf为NULL,则关闭流的缓冲;否则setbuf函数等价于
(void)setvbuf(stream, buf,_IOFBF, BUFSIZ).
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网站栏目:C库文件操作函数-创新互联
本文网址:http://myzitong.com/article/ddsgoc.html