如何使用C语言将数字、字符等数据写入、输出到文本文件中
作者:python小白(下阶段小黑) 发布时间:2023-09-07 12:09:07
最近在调试程序,想把过程中需要查看的数据输出到文件中,因此将简单的小方法分享一下
1.首先需要声明一个文件指针变量
FILE* fp;
2.接下来需要对这个指针变量进行初始化
fp = fopen("在这里填写你自己的路径", "这里填写读写方式");
现在介绍一下路径填写和C语言中的读写方式:
路径示例:"E:/rtklib/rtklib-test1/res.txt"
读写方式:
r 以只读方式打开文件,但该文件必须存在。
r+ 以可读写方式打开文件,但该文件必须存在。
rb+ 读写打开一个二进制文件,允许读写数据。
rt+ 读写打开一个文本文件,允许读写数据。
w 打开只写文件,若文件存在则文件长度清为0,内容清空。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为0,内容清空。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。(原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
3.然后开始利用相应函数将数据写入文件
这里可以使用到很多函数,比如fwrite,fprintf
我这次使用的是fprintf函数,使用方式如下:
fprintf(fp,"$SAT,%d,%.3f,%s,%d,%.1f,%.1f,%.4f,%.4f,%d,%.1f,%d,%d,%d,%d,%d,%d\n",
week,tow,id,j+1,ssat->azel[0]*R2D,ssat->azel[1]*R2D,
ssat->resp[j],ssat->resc[j],ssat->vsat[j],
ssat->snr[j]*SNR_UNIT,ssat->fix[j],ssat->slip[j]&3,
ssat->lock[j],ssat->outc[j],ssat->slipc[j],ssat->rejc[j]);
其中fp为打开的文件;"$SAT,%d,%.3f,%s,%d,%.1f,%.1f,%.4f,%.4f,%d,%.1f,%d,%d,%d,%d,%d,%d\n"表示需要写入的数据的类型,这里有整形,浮点型和字符串类型; \n为换行符
week,tow,id,j+1,ssat->azel[0]*R2D,ssat->azel[1]*R2D,
ssat->resp[j],ssat->resc[j],ssat->vsat[j],
ssat->snr[j]*SNR_UNIT,ssat->fix[j],ssat->slip[j]&3,
ssat->lock[j],ssat->outc[j],ssat->slipc[j],ssat->rejc[j]);
后面这些就是要写入的数据
4.最后一步,也是关键的一步
写完之后,一定要使用fclose关闭文件,否则系统可能会崩溃!
fclose(fp);
来源:https://blog.csdn.net/absll/article/details/124186981


猜你喜欢
- 在android开发中,我们时常会遇到对字符串中某些固定的字段实现可点击和颜色的设置,现粘贴处我在开发中如何设置这些属性的。代码如下:pri
- 介绍:淡入淡出动画(也称为“叠化”)逐渐淡出一个 View 或 ViewGroup,同时淡入另一个。此动画适用于您希望在应用中切换内容或视图
- 前言:在Java项目中,有两个主要的构建系统:Gradle和Maven。构建系统主要管理潜在的复杂依赖关系并正确编译项目。还可以将已编译的项
- 接着上次的实现, 添加 mybatis 查询 orcale 数据库第一步: 新建几个必须的包, 结果如下第二步: 在service包下新建p
- 关于[Cannot determine value type from string ‘xxx’]的
- Android不同层次的触摸事件监听 APP开发中,经常会遇到有关手势处理的操作
- 监听模式事件模型实现了监听模式,监听模式简单来说就是事件源经过事件的封装传给 * ,当事件源触发事件后, * 接收到事件对象可以回调事件的方
- 一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpCli
- SpringBoot默认加载的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中
- 简介JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案。JSON Web Token 入门教程 这篇文章可以帮你了解
- 下面是20个非常有用的Java程序片段,希望能对你有用。1. 字符串有整型的相互转换String a = String.valueOf(2)
- Android平台已经给我们提供了很多标准的组件,如:TextView、EditView、Button、ImageView、Menu等,还有
- 1. 简介很早就听说了Google的Lifecycle组件,因为项目没有使用过,所以并没有过多的接触。不过最近看到了一篇文章,其中的一条评论
- 本文实例讲述了Android编程实现获得内存剩余大小与总大小的方法。分享给大家供大家参考,具体如下:public class memInfo
- 1. Spring简介Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。2. Spring的优势 1.方便解耦, 简
- 学习Demo contains方法:用于判断list集合是否包含某个元素containsKey方法:用于判断Map键中是否包含某个
- springboot aop里的@Pointcut()的配置@Pointcut("execution(public * com.w
- 以公司和员工为例:公司是一,员工是多第一步 创建两个实体类,公司和员工写核心配置文件hibernate.cfg.xml写映射配置文件Comp
- 进行数据源或者 FTP 服务器等资源配置时,我们可以将这些配置信息放到一个独立的外部属性文件中,并在 Spring 配置文件中通过形如 ${
- 1.前言对于一个Android开发者来说,每一个页面都继承一个单独的系统Activity,有时候会带来很多不必要的困扰。比如:每一个页面会有