Linux下创建、打开、写入文件操作
来源:互联网 发布:柠檬绿茶 淘宝 编辑:程序博客网 时间:2024/06/05 04:44
linux下既然把所有的设备都看作文件来处理,就要熟练使用linux下文件操作的相关API。
#include<stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> #define LENGTH 100 int main(int argc,char* argv[]) { int fd,len; char str[LENGTH]; char *content="hi!"; char *path="/tmp/test.txt"; if(argc<2){ printf("Usage:Please pass the content as argument!\n"); exit(1); } content=argv[1]; fd=open(path,O_CREAT|O_RDWR,S_IRUSR|S_IWUSR); if(fd<0){ printf("Fail to open or create file!\n"); exit(1); } if(write(fd,content,strlen(content))!=strlen(content)){ printf("write error!\n"); exit(1); } close(fd); if((fd=open(path,O_RDWR))<0){ printf("Fail to open file!\n"); exit(1); } if((len=read(fd,str,LENGTH))<0){ printf("Read file error!\n"); exit(1); } str[len]='\0'; printf("%s\n",str); close(fd); return 0; }
用malloc函数代替数组str,根据要打印的内容长度动态申请内存:
#include<stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> //#define LENGTH 100 int main(int argc,char* argv[]) { int fd,len; // char str[LENGTH]; char *str; char *content="hi!"; char *path="/tmp/test.txt"; if(argc<2){ printf("%s\n",content); printf("Usage:Please pass the content as argument!\n"); exit(1); } content=argv[1]; fd=open(path,O_CREAT|O_RDWR,S_IRUSR|S_IWUSR); if(fd<0){ printf("Fail to open or create file!\n"); exit(1); } if(write(fd,content,strlen(content))!=strlen(content)){ printf("write error!\n"); exit(1); } close(fd); if((fd=open(path,O_RDWR))<0){ printf("Fail to open file!\n"); exit(1); } str=malloc(strlen(content)); if((len=read(fd,str,strlen(content)))<0){ printf("Read file error!\n"); exit(1); } // str[len]='\0'; printf("%s\n",str); free(str); close(fd); return 0; }
0 0
- Linux下创建、打开、写入文件操作
- Linux下创建、打开、写入文件操作
- 简单文件操作(Linux下C++实现) 打开,读取 写入 关闭
- 打开文件,写入数据(文件操作)
- 创建和打开文件,输出和写入
- linux C复习:文件操作(创建、打开、读写)
- Linux文件打开操作
- linux下C语言文件的创建打开和关闭
- Linux下打开目录、创建文件的权限
- C++文件操作:打开文件和写入文件
- C++文件操作:打开文件和写入文件
- C++文件操作:打开文件和写入文件
- linux下的读写打开,读写文件操作
- 打开文件对话框写入并保存文件操作
- iPhone 下创建、删除、读取、写入文件
- Linux下创建文件、并往文件中写入数据的小程序
- linux 下,vi文件时,显示这两个错误,E297: 交换文件写入错误 E303:不能打开交换文件
- c++的文件打开、创建、写入、读取学习摘录
- java算法实现"输入一个英文句子,反转句子中的单词顺序,但单词内字符的顺序不变"
- 欢迎使用CSDN-markdown编辑器
- KNN--python--机器学习
- 【游戏设计模式】之三 状态模式、有限状态机 & Unity版本实现
- K邻近(KNN)分类和预测算法
- Linux下创建、打开、写入文件操作
- (Hibernate) java.lang.String cannot be cast to [Ljava.lang.Object select查询错误
- 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 D Coconuts HDU 5925
- 贪吃蛇小游戏
- Android 计算字符宽度与高度
- 原子操作分析
- 如何搞懂 傅里叶变换
- QT5生成.exe文件时,出现缺少QT5core.dll文件解决方法
- 开发区块链