C/C++學習筆記 C讀取文本文件

1、簡述

要讀取文本文件,需要按照以下步驟操作:

  • 首先,使用該函數打開文本文件fopen()
  • 其次,使用fgets()fgetc()函數從文件中讀取文本。
  • 第三,使用函數關閉文件fclose()

2、每次從文件中讀取一個字符

要從文本文件中一次讀取一個字符,可以使用 fgetc() 函數。

以下程序每次從 readme.txt 文件中讀取一個字符,并將文件內容顯示到輸出中:

#include <stdio.h>int main()
{char *filename = "readme.txt";FILE *fp = fopen(filename, "r");if (fp == NULL){printf("Error: could not open file %s", filename);return 1;}// read one character at a time and// display it to the outputchar ch;while ((ch = fgetc(fp)) != EOF)putchar(ch);// close the filefclose(fp);return 0;
}

3、逐行讀取文本文件

????????要從文本文件中讀取一行,可以使用 fgets() 函數:

char * fgets ( char *str, int num, FILE *stream );

? ??fgets()函數從stream讀取字符并將其存儲到中str

? ? 如果出現以下情況,該fgets()函數將停止讀取:

  • 已讀取 num-1 個字符
  • 已到達換行符或文件結束字符。

????????請注意,該fgets()函數還包括換行符str

????????下面的示例顯示如何使用 fgets() 函數逐行讀取文本文件并將文本顯示到輸出:

#include <stdio.h>int main()
{char *filename = "readme.txt";FILE *fp = fopen(filename, "r");if (fp == NULL){printf("Error: could not open file %s", filename);return 1;}// reading line by line, max 256 bytesconst unsigned MAX_LENGTH = 256;char buffer[MAX_LENGTH];while (fgets(buffer, MAX_LENGTH, fp))printf("%s", buffer);// close the filefclose(fp);return 0;
}

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

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

相關文章

整理一下win7系統java、python等各個可安裝版本

最近使用win7系統&#xff0c;遇到了很多版本不兼容的問題&#xff0c;把我現在安裝好的可使用的分享給大家 jdk 1.8 maven-3.9.6 centos 7 python 3.7.4 docker DockerToolbox-18.01.0-ce win10是直接一個docker軟件&#xff0c;win7要安裝這三個 datagrip-2020.2.3 d…

2.1Docker安裝MySQL8.0

2.1 Docker安裝MySQL8.0 1.拉取MySQL docker pull mysql:latest如&#xff1a;拉取MySQL8.0.33版本 docker pull mysql:8.0.332. 啟動鏡像 docker run -p 3307:3306 --name mysql8 -e MYSQL_ROOT_PASSWORDHgh75667% -d mysql:8.0.33-p 3307:3306 把mysql默認的3306端口映射…

CentOs-7.5 root密碼忘記了,如何重置密碼?

VWmare軟件版本&#xff1a;VMware Workstation 16 Pro Centos系統版本&#xff1a;CentOS-7.5-x86 64-Minimal-1804 文章目錄 問題描述如何解決&#xff1f; 問題描述 長時間沒有使用Linux系統&#xff0c;root用戶密碼忘記了&#xff0c;登陸不上系統&#xff0c;如下圖所示…

【網絡安全】Web安全基礎 - 第一節:使用軟件及環境介紹

VMware VMware&#xff0c;是全球云基礎架構和移動商務解決方案的佼佼者。 VMware可是一個總部位于美國加州帕洛阿爾托的計算機虛擬化軟件研發與銷售企業呢。簡單來說&#xff0c;它就是通過提供虛擬化解決方案&#xff0c;讓企業在數據中心改造和公有云整合業務上更加得心應…

QImage和QPixmap的區別和使用

一、基本概念和特點 QImage 概念&#xff1a;QImage是Qt庫中用于處理圖像數據的一個類。它提供了直接訪問和操作圖像像素的接口。特點&#xff1a; 可以獨立于屏幕分辨率和設備處理圖像。支持讀取和保存多種圖像格式&#xff0c;如PNG、JPEG、BMP等。可以在沒有圖形界面的情況…

圖論第二天

最近加班時間又多了&#xff0c;隨緣吧&#xff0c;干不動就辭唄。真是想歇幾天了&#xff0c;題不能停&#xff01;&#xff01;今天目前只做了一道題&#xff0c;先用兩種方式把他搞出來。 695. 島嶼的最大面積 class Solution { public:int neighbor[4][2] {1,0,0,-1,-1,…

Linux系統管理基礎002

Linux系統管理基礎之文件管理二 Linux文件管理是系統管理中的重要組成部分 1.文件與目錄的基本概念 2. 特殊目錄與文件 3. 文件與目錄的操作 4. 文件權限管理 5. 查找處理文件 6. 關聯技巧 今天給大家介紹一下目錄的結構 1.文件與目錄的基本概念 管理類目錄&#xff1a; …

FreeRTOS基礎(三):動態創建任務

上一篇博客&#xff0c;我們講解了FreeRTOS中&#xff0c;我們講解了創建任務和刪除任務的API函數&#xff0c;那么這一講&#xff0c;我們從實戰出發&#xff0c;規范我們在FreeRTOS下的編碼風格&#xff0c;掌握動態創建任務的編碼風格&#xff0c;達到實戰應用&#xff01; …

用貪心算法進行10進制整數轉化為2進制數

十進制整數轉二進制數用什么方法&#xff1f;網上一搜&#xff0c;大部分答案都是用短除法&#xff0c;也就是除2反向取余法。這種方法是最基本最常用的&#xff0c;但是計算步驟多&#xff0c;還容易出錯&#xff0c;那么還有沒有其他更好的方法嗎&#xff1f; 一、短除反向取…

AdroitFisherman模塊安裝日志(2024/5/31)

安裝指令 pip install AdroitFisherman-0.0.29.tar.gz -v 安裝條件 1:Microsoft Visual Studio Build Tools 2:python 3.10.x 顯示輸出 Using pip 24.0 from C:\Users\12952\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10) Processing c:\u…

matlab GUI界面設計

【實驗內容】 用MATLAB的GUI程序設計一個具備圖像邊緣檢測功能的用戶界面&#xff0c;該設計程序有以下基本功能&#xff1a; &#xff08;1&#xff09;圖像的讀取和保存。 &#xff08;2&#xff09;設計圖形用戶界面&#xff0c;讓用戶對圖像進行彩色圖像到灰度圖像的轉換…

3-哈希表-21-兩個數組的交集-LeetCode349

3-哈希表-21-兩個數組的交集-LeetCode349 參考&#xff1a;代碼隨想錄 LeetCode: 題目序號349 更多內容歡迎關注我&#xff08;持續更新中&#xff0c;歡迎Star?&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技術公眾號&#xff1a;CodeZeng1998&…

2.1 OpenCV隨手簡記(二)

為后續項目學習做準備&#xff0c;我們需要了解LinuxOpenCV、Mediapipe、ROS、QT等知識。 一、圖像顯示與保存 1、基本原理 1.1 圖像像素存儲形式 首先得了解下圖像在計算機中存儲形式&#xff1a;(為了方便畫圖&#xff0c;每列像素值都寫一樣了)。對于只有黑白顏色的灰度…

[有監督學習]2.詳細圖解正則化

正則化 正則化是防止過擬合的一種方法&#xff0c;與線性回歸等算法配合使用。通過向損失函數增加懲罰項的方式對模型施加制約&#xff0c;有望提高模型的泛化能力。 概述 正則化是防止過擬合的方法&#xff0c;用于機器學習模型的訓練階段。過擬合是模型在驗證數據上產生的誤…

Java文件IO

White graces&#xff1a;個人主頁 &#x1f649;專欄推薦:Java入門知識&#x1f649; &#x1f649; 內容推薦:JUC常見類&#x1f649; &#x1f439;今日詩詞:東風吹柳日初長&#xff0c;雨馀芳草斜陽&#x1f439; ??點贊 ??收藏??關注&#x1f4ac;卑微小博主&…

Three.js 研究:4、創建設備底部旋轉的科技感圓環

1、實現效果 2、PNG轉SVG 2.1、原始物料 使用網站工具https://convertio.co/zh/png-svg/進行PNG轉SVG 3、導入SVG至Blender 4、制作旋轉動畫 4.1、給圓環著色 4.2、修改圓環中心位置 4.3、讓圓環旋轉起來 參考一下文章 Three.js 研究&#xff1a;1、如何讓物體動起來 Thre…

LeetCode # 1070. 產品銷售分析 III

1070. 產品銷售分析 III 題目 銷售表 Sales&#xff1a; ------------------ | Column Name | Type | ------------------ | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | ------------------ (sale_id, year) 是這張表的主鍵&am…

“論SOA在企業集成架構設計中的應用”必過模板,突擊2024軟考高項論文

考題部分 企業應用集成(Enterprise Application Integration, EAI)是每個企業都必須要面對的實際問題。面向服務的企業應用集成是一種基于面向服務體系結構(Service-OrientedArchitecture,SOA&#xff09;的新型企業應用集成技術&#xff0c;強調將企業和組織內部的資源和業務功…

VSCode界面Outline只顯示類名和函數名,隱藏變量名

參考鏈接 https://blog.csdn.net/Zjhao666/article/details/120523879https://blog.csdn.net/Williamcsj/article/details/122401996 VSCode中界面左下角的Outline能夠方便快速跳轉到文件的某個類或函數&#xff0c;但默認同時顯示變量&#xff0c;導致找某個函數時很不方便。…

mimkatz獲取windows10明文密碼

目錄 mimkatz獲取windows10明文密碼原理 lsass.exe進程的作用 mimikatz的工作機制 Windows 10的特殊情況 實驗 實驗環境 實驗工具 實驗步驟 首先根據版本選擇相應的mimikatz 使用管理員身份運行cmd 修改注冊表 ?編輯 重啟 重啟電腦后打開mimikatz 在cmd切換到mi…