【C語言】熟悉文件順序讀寫函數

前言

本篇詳細介紹了 文件順序讀寫常用函數,快來看看吧~

歡迎關注個人主頁:逸狼


創造不易,可以點點贊嗎~

如有錯誤,歡迎指出~


目錄

前言

?編輯

文件順序讀寫函數

fgetc函數

示例

fputc函數

逐個字符寫入

寫入26個字母

文件拷貝

fgets函數

fputs函數

讀鍵盤上的字符,再打印在屏幕上

fprintf函數

示例

fscanf函數

示例

fwrite函數

示例

fread函數

示例

sprintf函數

示例

sscanf函數

示例

函數對比

scanf與printf

fscanf與fprintf

sscanf與sprintf


文件順序讀寫函數

fgetc函數

用于讀取文件內的單個字符

示例

fputc函數

用于將單個字符寫入文件中

逐個字符寫入

寫入26個字母

文件拷貝


寫一個代碼,完成將data1.txt文件的內容 拷貝一份生成data2.txt


#include<stdio.h>
int main()
{FILE* pfread = fopen("data1.txt", "r");if (pfread == NULL){perror("fopen->data1.txt");return 1;}FILE* pfwrite = fopen("data2.txt", "w");if (pfwrite == NULL){fclose(pfread);//判斷為真后,要將pfread置為空指針pfread = NULL;perror("fopen->data2.txt");return 1;}//數據的讀寫(拷貝)int ch = 0;//每讀一個字符就放入ch中,直到讀完為止while ((ch = fgetc(pfread)) != EOF){fputc(ch, pfwrite);//寫入data2.txt文件中}fclose(pfread);fclose(pfwrite);return 0;
}

fgets函數

讀取一行字符

#include<stdio.h>
int main()
{FILE* pf = fopen("data.txt", "r");if (pf == NULL){perror("fopen->data1.txt");return 1;}//讀一行//最多讀num-1個字符,第num個字符放\0char arr[20] = "xxxxxxxxxxxxx";fgets(arr, 10, pf);fclose(pf);pf = NULL;}

fputs函數

寫入一行字符

#include<stdio.h>
int main()
{FILE* pf = fopen("data.txt", "w");if (pf == NULL){perror("fopen->data1.txt");return 1;}//寫文件  寫一行fputs("abcdef\n", pf);fputs("abcdef\n", pf);fputs("abcdef\n", pf);fclose(pf);pf = NULL;}

讀鍵盤上的字符,再打印在屏幕上

fprintf函數

格式化打印在文件上,參數比printf 多了一個文件指針
?

示例

fscanf函數

示例

fwrite函數

以二進制形式寫文件

示例

fread函數

以二進制形式讀文件

示例

sprintf函數

將格式化數據轉換成字符串

示例

sscanf函數

讀取字符串并放入標準化數據中

示例

函數對比

scanf與printf

  • ?scanf針對標準輸入(鍵盤)的格式化輸入函數
  • ?printf 針對標準輸出(屏幕)的格式化輸出函數

fscanf與fprintf

  • ?fscanf針對所有輸入流的格式化輸入的函數
  • ?fprintf 針對所有輸出流的格式化輸出的函數

sscanf與sprintf

  • ?sscanf 從一個字符串讀取一個格式化的數據
  • ?sprintf 把一個格式化的數據轉換成字符串
    ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715398.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715398.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715398.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

手寫模擬器,解放雙手!效果炸裂的生產工具

手寫模擬器是一款基于Handright的仿手寫圖片生成軟件&#xff0c;可以讓你的電腦和手機也能寫出漂亮的手寫字&#xff0c;你只需要輸入你想要寫的內容&#xff0c;選擇你喜歡的字體和背景&#xff0c;就可以生成一張高仿真的手寫圖片&#xff0c;用于各種場合&#xff0c;比如做…

uniapp中canvas的基礎使用

canvas簡介 canvas是uniapp中提供的一個組件,用于生成自定義的圖形界面。通過canvas,我們可以通過JavaScript代碼在頁面上繪制各種圖形和圖像。 使用canvas 在頁面中添加canvas 首先需要在頁面的template中添加一個canvas組件: <template><view><canvas ca…

linux:iostat 用法詳解

文章目錄 描述語法參數例子 描述 iostat 是一個在類Unix操作系統中常用的系統監控工具&#xff0c;尤其是Linux系統中&#xff0c;它主要用于收集和報告中央處理器(CPU)使用情況以及磁盤輸入/輸出(I/O)統計數據。以下是 iostat 命令的基本用法及其參數詳解&#xff1a; 語法 …

代碼隨想錄三刷 day11 | 棧與隊列之 20. 有效的括號 1047. 刪除字符串中的所有相鄰重復項 150. 逆波蘭表達式求值

三刷day11 20. 有效的括號1047. 刪除字符串中的所有相鄰重復項150. 逆波蘭表達式求值 20. 有效的括號 題目鏈接 解題思路&#xff1a; 有三種不匹配的情況&#xff1a; 第一種情況&#xff0c;字符串里左方向的括號多余了 。 第二種情況&#xff0c;括號沒有多余&#xff0c;…

[伴學筆記]01-操作系統概述 [南京大學2024操作系統]

文章目錄 前言jyy:01-操作系統概述 [南京大學2024操作系統]為什么要學操作系統?學習操作系統能得到什么? 什么是操作系統?想要明白什么是操作系統:時間線:1940s1950s-1960s1960-1970s年代. 信息來源: 前言 督促自己,同時分享所得,閱讀完本篇大約需要10分鐘,希望為朋友的技術…

編碼規則轉換

思考&#xff1a; 如何將一個機內碼轉換為區內碼&#xff1f; 只要將機內碼減去 A0A0 就可以啦 如果只讓我們用加法器來解決呢&#xff1f; 注意我們的數據占用了 32 位&#xff0c;如果想用補碼進行減法運算的話&#xff0c;符號位怎么辦&#xff1f;&#xff1f;&#xf…

《探索數據結構之美:如何高效實現哈希表》

摘要&#xff1a;哈希表是一種基于鍵值對的數據結構&#xff0c;它通過哈希函數將鍵映射到表中一個位置&#xff0c;以實現快速的插入、刪除和查找操作。在本期播客中&#xff0c;我們將深入剖析哈希表的數據結構&#xff0c;分享如何用Python語言實現一個哈希表項目。此外&…

【深度學習筆記】計算機視覺——微調

微調 前面的一些章節介紹了如何在只有6萬張圖像的Fashion-MNIST訓練數據集上訓練模型。 我們還描述了學術界當下使用最廣泛的大規模圖像數據集ImageNet&#xff0c;它有超過1000萬的圖像和1000類的物體。 然而&#xff0c;我們平常接觸到的數據集的規模通常在這兩者之間。 假…

【計算機是怎么跑起來的】軟件,體驗一次手工匯編

【計算機是怎么跑起來的】軟件,體驗一次手工匯編 二進制機器語言匯編語言操作碼操作數寄存器內存地址和I/O地址參考書:計算機是怎么跑起來的 第三章外設在路上。。。先整理一下本書涉及的理論知識,反正后面做視頻也要重寫QAQ 程序的作用是驅動硬件工作,所以在編寫程序之前必…

【C++庖丁解牛】類與對象

&#x1f4d9; 作者簡介 &#xff1a;RO-BERRY &#x1f4d7; 學習方向&#xff1a;致力于C、C、數據結構、TCP/IP、數據庫等等一系列知識 &#x1f4d2; 日后方向 : 偏向于CPP開發以及大數據方向&#xff0c;歡迎各位關注&#xff0c;謝謝各位的支持 目錄 1.面向過程和面向對象…

對單例模式的餓漢式、懶漢式的思考

目錄 1 什么是單例模式&#xff1f;1.1 什么是餓漢式&#xff1f;1.2 什么是懶漢式&#xff1f; 2 我對餓漢式的思考3 懶漢式3.1 解決懶漢式的線程安全問題3.1.1 加鎖&#xff1a;synchronized&#xff08;synchronized修飾靜態方法&#xff09;3.1.2 對“3.1.1”性能的改進 1 …

環形鏈表詳解(讓你徹底理解環形鏈表)

文章目錄 一.什么是環形鏈表&#xff1f;二.環形鏈表的例題&#xff08;力扣&#xff09; 三.環形鏈表的延伸問題 補充 一.什么是環形鏈表&#xff1f; 環形鏈表是一種特殊類型的鏈表數據結構&#xff0c;其最后一個節點的"下一個"指針指向鏈表中的某個節點&#xff…

Python 教學平臺,支持“多班教學”的課程授課方式|ModelWhale 版本更新

龍行龘龘、前程朤朤&#xff0c;ModelWhale 新一輪的版本更新&#xff0c;期待為大家帶來更優質的使用體驗。 本次更新中&#xff0c;ModelWhale 主要進行了以下功能迭代&#xff1a; 新增 課程&#xff08;包括課件、作業、算力&#xff09;按班級管理&#xff08;團隊版? …

springcloud的搭建和封裝,已進行開源,相互學習代碼知識。

springcloud架構的統一父工程&#xff0c;&#xff08;管理子模塊&#xff0c;管理依賴插件&#xff0c;依賴版本等&#xff09; abillty:能力服務塊&#xff1a;存放一些非業務相關的微服務&#xff0c;比如網關&#xff0c;身份認證等 exce: 網關中的一些異常信息處理 gatewa…

基于Springboot的人事管理系統 (有報告)。Javaee項目,springboot項目。

演示視頻&#xff1a; 基于Springboot的人事管理系統 &#xff08;有報告&#xff09;。Javaee項目&#xff0c;springboot項目。 項目介紹&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三層體系結構&am…

【Git】merge時報錯:refusing to merge unrelated histories

文章目錄 一、問題二、解決辦法1、將feature分支的東西追加到master分支中2、將feature里的東西直接覆蓋到master分支中 一、問題 今天將feature分支合并到master時報錯&#xff1a;refusing to merge unrelated histories&#xff08;拒絕合并無關歷史&#xff09; 報錯原因&…

一篇文章速通static關鍵字(JAVA)

目錄 1.原理——內存機制 1.1 修飾對象 1.2 lifecycle生命周期 2. 靜態屬性&#xff08;類屬性&#xff09;和實例屬性&#xff08;對象屬性&#xff09; 2.1 定義方式 2.2 調用方法 3. 靜態方法和屬性 3.1 在同一個類中 3.2 在不同類中 4.總結&#xff08;關鍵&#x…

SQLSyntaxEProrException異常產生原因及解決方案

java.sq1.SQLSyntaxEProrException異常產生原因及解決方案 01 異常的發生場景 在我mybatis-plus寫了一個查詢接口后出現的問題 java.sq1.SQLSyntaxEProrException日志報錯的意思是sql語法問題 02 異常的產生及其原因 我最開始又認為是MySQL數據庫表設計的問題&#xff0c…

ROS2從入門到精通:理論與實戰

ROS是什么&#xff1f; 隨著人工智能技術的飛速發展與進步&#xff0c;機器人的智能化已經成為現代機器人發展的終極目標。機器人發展的速度在不斷提升&#xff0c;應用范圍也在不斷拓展&#xff0c;例如自動駕駛、移動機器人、操作機器人、信息機器人等。機器人系統是很多復雜…

外貿福利 PHP源碼 WhatsApp 營銷 - 批量發件人、聊天、機器人、SaaS 搭建

WhatsApp 營銷工具對于外貿人員來說至關重要。隨著全球貿易的不斷發展&#xff0c;WhatsApp已成為了許多國際貿易商之間溝通的首選工具之一。通過利用WhatsApp營銷工具&#xff0c;外貿人員可以輕松地與客戶建立聯系&#xff0c;傳遞產品信息&#xff0c;進行價格談判&#xff…