博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 文件操作函数
阅读量:6246 次
发布时间:2019-06-22

本文共 2451 字,大约阅读时间需要 8 分钟。

底层文件操作函数: 

#include
int open(const char* pathname,int flags);int open(const char* pathname,int flags,mode_t mode); //返回值:成功,返回文件描述符 失败,返回-1,失败原因记录在errno中
int close(int fd);//返回值:成功返回0 失败返回-1
size_t read(int fd,void *buffer,sizeof(buffer));size_t write(int fd,void *buffer,sizeof(buffer));
int ioctl(int fd,int request);

例子:

//write.c#include
#include
#include
#include
#include
int main(){ int fd,size; char s[]="this is a linux program!\n",buffer[50]; fd=open("temp.txt",O_WRONLY|O_CREAT|O_EXCL); write(fd,s,sizeof(s)); close(fd); fd=open("temp.txt",O_RDONLY); read(fd,buffer,sizeof(buffer)); close(fd); printf("%s\n",buffer); return 0;}

 

标准文件操作函数:

#include
FILE *fopen(const char* path,const char* mode);//失败返回NULLint fclose(FILE *stream);//成功返回0,失败返回EOF
#include
size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream);size_t fwrite(const void *ptr,size_t size,size_t nmemb,FILE *stream);

例子:

#include 
int main(int argc, char **argv){ FILE *ptr; int i,numread,numwritten,length; length=20; char data[length]; if((ptr=fopen("temp.txt","w+"))!=NULL){ for(i=0;i

读写文件文字符函数:

#include
int getc(FILE *stream);int fputc(int c,FILE *stream);char* fgets(char *s,int size,FILE *stream);char* fputs(const char *s,FILE *stream);

例子:

//fputc.c#include 
int main(int argc, char **argv){ int fd,size; char c; FILE* stream=fopen("temp.txt","a+"); c=fgetc(stream); printf("%c\n",c); c=fputc(c,stream); printf("%c\n",c); return 0;}

文件移动和重命名:

#include
int remove(const char* pathname);int rename(const char* oldpath,const char* newpath);//检查读写是否有误int access(const char* pathname,int mode);

例子:

//remove.c#include 
int main(int argc, char **argv){ int flag; char s[]="temp.txt"; flag=remove(s); if(flag==0) printf("delte the file!\n"); else printf("failed!\n") return 0;}
//rename.c#include 
int main(int argc, char **argv){ int flag; char old[]="temp.txt"; char new[]="/root/yy/new.txt"; flag=rename(old,new); if(flag==0) printf("rename succeed!\n"); else printf("failed!\n") return 0;}

 

本文 由  创作,采用 进行许可。欢迎转载,请注明出处:
转载自: 

你可能感兴趣的文章
老猪带你玩转android自定义控件一——打造最简单viewpagerindicator
查看>>
【hibernate框架】性能优化之list_iterate的不同之处
查看>>
block高级功能
查看>>
把钱投资自己的头脑上(一)
查看>>
iOS调试奇巧淫技(二)之LLDB
查看>>
[LeetCode]173.Binary Search Tree Iterator
查看>>
整合大量开源库项目(五)跳动的TextView JumpingBeans,良好体验的滚动栏ConvenientBanner...
查看>>
some utility discovered by Linux yum search all tcp, epel.repo
查看>>
SecureCRT连接ubuntu时,中文显示乱码的解决方法
查看>>
quartz---我为什么要使用quartz
查看>>
Mybatis参数传递
查看>>
Android 6.0 在运行时请求权限
查看>>
ES6语法(三) 对象
查看>>
Swift4 func
查看>>
create-react-app2.x 自定义配置(less 按需加载 装饰器)
查看>>
第一个掘金文章
查看>>
最酷的深度学习聊天机器人资源集合
查看>>
SVG 在 image 标签中的动态修改技巧
查看>>
js的三种编码解码方法
查看>>
7月31日云创大会游戏论坛门票0元抢!
查看>>