LINUX读取写入文件并打印出来(实例用的.txt) 您所在的位置:网站首页 多线程读取文件数据的命令 LINUX读取写入文件并打印出来(实例用的.txt)

LINUX读取写入文件并打印出来(实例用的.txt)

2024-07-15 13:19| 来源: 网络整理| 查看: 265

参考我的文件管理笔记:linux 文件系统与操作 1.在/home下使用open()函数打开一个名为“姓名.txt”的文件,权限为666,如果该文件不存在,则创建此文件,并向其中写入字符串“hello 学号,this is world”,然后把写入的内容读取出来并在终端上显示输出。

先创建文件,然后chmod 666 文件

写代码:

#include #include #include #include #include int main() { int fd=0; char buf[50]="hello 541913430301,this is world\n"; char filename[20]="/home/chenhao.txt"; fd=open(filename,O_CREAT|O_RDWR); if(fd==-1) { printf("open error\n"); return -1; } write(fd,buf,sizeof(buf)); read(fd,buf,sizeof(buf)); close(fd); fd=open(filename,O_CREAT|O_RDWR,666); if(fd==-1) { printf("open error\n"); return -1; } write(fd,buf,sizeof(buf)); close(fd); //直接读出 fd=open(filename,O_RDONLY); if(fd==-1) { perror("file open error.\n"); return -1; } off_t f_size=0; f_size=lseek(fd,0,SEEK_END) ; //获取文件长度 lseek(fd,0,SEEK_SET); while(lseek(fd,0,SEEK_CUR)!=f_size) { read(fd,buf,sizeof(buf)); printf("%s\n",buf); } close(fd); return 0; }

在这里插入图片描述 在这里插入图片描述 自己输入的是这样的 //写数据 int len = 0; char buf[100] = { 0 }; scanf("%s", buf); len = strlen(buf); write(fd, buf, len);

在这里插入图片描述 在这里插入图片描述 这里的lseek可以看我的笔记 参考我的文件管理笔记:linux 文件系统与操作 在这里插入图片描述 效果:

在这里插入图片描述

下面在贴一个自己输入和读取的

#include #include #include #include #include int main() { int fd = 0; //路径中的目录若不存在将导致文件创建失败 char filename[20] = "/home/itheima/a.txt"; //打开文件 fd = open(filename, O_RDWR | O_EXCL | O_TRUNC, S_IRWXG); if (fd == -1){ //判断文件是否成功打开 perror("file open error.\n"); exit(-1); } //写数据 int len = 0; char buf[100] = { 0 }; scanf("%s", buf); len = strlen(buf); write(fd, buf, len); close(fd); //关闭文件 printf("---------------------\n"); //读取文件 fd = open(filename, O_RDONLY); //再次打开文件 if (fd == -1){ perror("file open error.\n"); exit(-1); } off_t f_size = 0; f_size = lseek(fd, 0, SEEK_END); //获取文件长度 lseek(fd, 0, SEEK_SET); //设置文件读写位置 while (lseek(fd, 0, SEEK_CUR) != f_size) //读取文件 { read(fd, buf, 1024); printf("%s\n", buf); } close(fd); return 0; }

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有