網站首頁 編程語言 正文
最近在調試程序,想把過程中需要查看的數據輸出到文件中,因此將簡單的小方法分享一下
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
相關推薦
- 2022-04-09 關于C語言動態內存管理介紹_C 語言
- 2023-03-29 Redis內存碎片原理深入分析_Redis
- 2022-08-16 Golang輕量級IoC容器安裝使用示例_Golang
- 2022-03-21 Android中Binder?IPC機制介紹_Android
- 2022-04-07 Python編程基礎之運算符重載詳解_python
- 2022-11-23 Python?defaultdict方法使用分析_python
- 2022-07-06 python的import?機制是怎么實現的_python
- 2022-06-18 C#使用Monitor類實現線程同步_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支