Linux读写txt文件
目录
- 打开文件
- 关闭文件
- 写入文件
- 写入文件
- 测试代码
- 读取TXT
- shell脚本读取txt
打开文件
cd指令跳转到相对文件夹
find指令查找对应文件,不清楚全名时使用
sudo find / -name "us*"
您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型:
FILE *fopen( const char *filename, const char *mode );
在这里,filename 是字符串,用来命名文件,访问模式 mode 的值可以是下列值中的一个:
模式 描述
r 打开一个已有的文本文件,允许读取文件。
w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度,重新写入。
a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。
r+ 打开一个文本文件,允许读写文件。
w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。
a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。
如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:
“rb”, “wb”, “ab”, “rb+”, “r+b”, “wb+”, “w+b”, “ab+”, “a+b”
关闭文件
为了关闭文件,请使用 fclose( ) 函数。函数的原型如下:
int fclose( FILE *fp );
如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF。这个函数实际上,会清空缓冲区中的数据,关闭文件,并释放用于该文件的所有内存。EOF 是一个定义在头文件 stdio.h 中的常量。
C 标准库提供了各种函数来按字符或者以固定长度字符串的形式读写文件。
写入文件
下面是把字符写入到流中的最简单的函数:
int fputc( int c, FILE *fp );
函数 fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF。您可以使用下面的函数来把一个以 null 结尾的字符串写入到流中:
int fputs( const char *s, FILE *fp );
函数 fputs() 把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF。您也可以使用 int fprintf(FILE *fp,const char *format, …) 函数把一个字符串写入到文件中。尝试下面的实例:
注意:请确保您有可用的 tmp 目录,如果不存在该目录,则需要在您的计算机上先创建该目录。
/tmp 一般是 Linux 系统上的临时目录,如果你在 Windows 系统上运行,则需要修改为本地环境中已存在的目录,例如: C:\tmp、D:\tmp等。
写入文件
下面是把字符写入到流中的最简单的函数:
int fputc( int c, FILE *fp );
函数 fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。如果写入成功,它会返回写入的字符,如果发生错误,则会返回 EOF。您可以使用下面的函数来把一个以 null 结尾的字符串写入到流中:
int fputs( const char *s, FILE *fp );
函数 fputs() 把字符串 s 写入到 fp 所指向的输出流中。如果写入成功,它会返回一个非负值,如果发生错误,则会返回 EOF。您也可以使用 int fprintf(FILE *fp,const char *format, …) 函数把一个字符串写入到文件中。尝试下面的实例:
注意:请确保您有可用的 tmp 目录,如果不存在该目录,则需要在您的计算机上先创建该目录。
/tmp 一般是 Linux 系统上的临时目录,如果你在 Windows 系统上运行,则需要修改为本地环境中已存在的目录,例如: C:\tmp、D:\tmp等。
测试代码
新建一个txt文件:cat > test.txt
读取TXT
read = fopen("/home/yan/openrun/opentest/num.txt","r+");fscanf(read,"%s",buff);//将数据读取出来printf("num=0x%x\n",buff[0]);fclose(read);if(buff[0]==0x33){read = fopen("/home/yan/openrun/opentest/num.txt","w+");fwrite(k_buff,sizeof(k_buff),1,read);//写入数据printf("num=0x%x\n",buff[0]);printf("write\n");fclose(read);}
shell脚本读取txt
echo "3" > a.txt
sudo chmod 777 a.txt
true > a.txt
#!/bin/bashecho "123456a#" | sudo -s cat a.txt | while read line
doecho $lineif [ "$line"x == "3"x ]thenmodbule_name="数据是3,第1次"echo "123456a#" | sudo -s true > /home/xb/a.txtecho "123456a#" | sudo -s echo "2" >> /home/xb/a.txtecho "写入2"elif [ "$line"x == "2"x ]thenmodbule_name="数据是2,第2次"echo "123456a#" | sudo -s true > /home/xb/a.txtecho "123456a#" | sudo -s echo "1" >> /home/xb/a.txtecho "写入1"elif [ "$line"x == "1"x ]thenmodbule_name="数据是1,第3次"echo "123456a#" | sudo -s true > /home/xb/a.txtecho "123456a#" | sudo -s echo "0" > /home/xb/a.txtecho "写入0"fi echo $modbule_name
done
exit 0
Linux读写txt文件相关推荐
- JAVA编程TXT文件_java开发之读写txt文件操作的实现
项目结构: 运行效果: ======================================================== 下面是代码部分: ====================== ...
- java怎样读txt文件_【后端开辟】java怎样读写txt文件?
java怎样读取txt文件? 1.运用FileInputStream完成读取txt文件内容 2.运用FileOutputStream完成写入txt文件内容 package cn.xiaobing.ut ...
- C++读写txt文件方式以及基于opencv的Mat数据类型读写txt文件
一.打开文件 在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: void open(const char* filename,int mode,int access); ...
- JAVA编程TXT文件_java读写txt文件的方法
java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...
- C#读写txt文件的两种方法介绍[转]
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- Linux打开txt文件乱码的解决方法
Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb18030.因此,解决Linux打开txt文件 ...
- unity webgl读写txt文件_VB 读写txt文件
No.7 读写txt文件mp.weixin.qq.com 许多程序需要读写数据,比如商品管理,图书管理,学生档案等,当需要查询的时候,就是读取数据,新增或者更改就需要写数据,VB来讲,中小型的数据一 ...
- python读取txt文件_python实现读写txt文件的几种方法
一.读写模式: w:向文件中写入内容,w会清空原来文本内容 a:向文件中追加内容 r:从文件中读取内容 wb:以二进制形式写入内容. rb:以二进制形式读文件内容 ab:以二进制形式追加内容 a+.r ...
- python不同数据的读入_python读写不同编码txt文件_python读写txt文件
python读写不同编码txt文件_python读写txt文件 以后整理规范 [python] view plaincopy import os import codecs filenames=os. ...
- python逐行写入文件_python逐行读写txt文件的实例讲解
实例如下所示: # -*-coding:utf-8-*- import os file_obj = open("test2.txt") all_lines = file_obj.r ...
最新文章
- parsing:NLP之chart parser句法分析器
- win7利用remote连接服务器,显示发生身份验证错误 要求的函数不受支持
- google guava工具包collect包HashMultiMap基本用法
- 白盒测试之路径测试练习
- 51单片机开发板(W25Q16学习)
- Eigen密集矩阵求解 2 - 求解最小二乘系统
- 用国产还是国外?BI工具深度盘点洞察,选这个肯定没差
- Makefile 打印变量的值
- 【POJ1088】滑雪
- 文本生成系列之transformer结构扩展(三)
- Hadoop-MapReduce
- ubuntu 安装多个CUDA版本并可以随时切换
- CSS圆角兼容IE6
- 在线画图工具ProcessOn
- 【three.js】3D模型创建 + 模型弹框 + 动画效果
- Android DoraemonKit 教程和简介
- 单项目多JDBC驱动版本加载
- Android Studio模拟器打不开Emulator: emulator: ERROR: x86_64 emulation currently requires hardware accelera
- Touchpad solution on Linux
- QT Debugging Helper Missing