成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++進階教程:C++逐行讀取文件

系統 Linux
讓我們先從 Ubuntu 20.04 系統中安裝名為“g++”的 C++編譯器開始,因為我們正在用 C++ 語言編寫代碼。為此,我們按Ctrl+alt+T調出終端。

 

不管使用哪種操作系統,文件都是程序員、計算機用戶和學生日常生活中非常重要的一部分。這些文件幫助我們以不同的格式保存數據,具有安全性和冗余性。因此,在今天這個簡單的教程中,我們將討論在Ubuntu 20.04系統中逐行讀取文件數據的 C++ 示例。

讓我們先從 Ubuntu 20.04 系統中安裝名為“g++”的 C++編譯器開始,因為我們正在用 C++ 語言編寫代碼。為此,我們按Ctrl+alt+T調出終端。

安裝g++,輸入如下命令 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install g++ 

 用g++ --version查看g++版本。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ g++ --version 

OK,安裝了g++編譯器后,我們現在就可以實現以下示例了。

在我們的 Ubuntu 20.04 系統中創建了一個新的 c++ 文件。文件名為“linuxmi.com.cpp”。該文件可以在任何編輯器中打開以添加 c++ 代碼。這些編輯器包括文本、vim 和 nano 編輯器。我們現在使用“vim”打開文件“linuxmi.com.cpp”。

示例一

空白文件將在 vim 編輯器中展開。我們已經通過包含一些重要且必要的頭文件來開始我們的代碼。頭文件包括輸入輸出流、字符串和文件流頭文件。代碼將在沒有命名空間的情況下啟動。所以,我們首先啟動了main()方法。在我們的第一個示例中,我們使用已經創建的文件逐行讀取文本。“std”關鍵字將用于在代碼中使用標準輸入和輸出。

因此,輸入文件流用于使用文件對象,即ReadF 從主目錄中讀取文件“www.linuxmi.com.txt”。字符串類型變量被聲明為“data”,以便在讀取后將文件的文本簡單地保存到其中。現在,這里使用 while 循環來使用 C++ 的 getline() 函數。該函數有兩個參數,即“ReadF”對象和字符串變量“data”。getline() 函數將從 www.linuxmi.com.txt 文件中讀取文本并將其保存到變量“data”中,直到文件不為空。當這個條件成立時,我們使用“cout”語句在shell中顯示文件數據。

讓我們使用“g++”編譯器在終端中編譯新實現的代碼。之后,使用“./linuxmi.com.out”指令執行文件。輸出在終端上逐行顯示文件數據。

示例二

我們的第一個示例是關于逐行讀取文件中的數據并顯示在 shell 上。在這個例子中,我們將數據寫入文件,然后逐行讀取。因此,我們通過打開“linuxmi.com.cpp”文件更新了代碼。添加了標題和命名空間。在main() 方法中,我們使用了輸出文件流對象,即“WriteF”將數據寫入www.linuxmi.com.txt 文件。用戶已使用 WriteF 對象將數據添加到文件中。WriteF 對象在此處從用戶那里獲取單行輸入。WriteF 對象將被關閉,并聲明“data”。輸入文件流對象,即ReadF,用于逐行讀取www.linuxmi.com.txt文件中的文本。當文件不為空時,它將繼續使用 getline 方法將文件對象 ReadF 中的數據保存在變量“data”中。cout 語句在 shell 上逐行顯示數據。

最后,ReadF輸入文件流對象被關閉。程序到此結束。現在讓我們執行它。

首先,用g++編譯器編譯更新后的代碼,然后執行。執行后,當用戶在 www.linuxmi.com.txt 文件中寫入一行代碼時,我們還得到了一行輸出。如下:

示例三

因此,這是我們最后一個但同樣重要的示例,逐行從文件中讀取數據。現在,我們打開了相同的 linuxmi.com.cpp 文件并更新了它的代碼,如下所示。因此,我們開始包含必要的頭文件,即 iostream、string 和 fstream,用于文件處理。然后在 main 函數開始之前使用了一個命名空間。該腳本與上述兩個示例代碼略有不同。我們在 main() 函數的開頭聲明了頭文件“fstream”的對象“File”。該對象將用于打開、寫入、讀取和關閉文件。首先,我們使用對象文件打開“www.linuxmi.com.txt”文件。標準“ios”包標識流類型,即輸入或輸出。

您可以看到,我們已將其指定為輸出流。“out”關鍵字將用于在打開文件后寫入文件,而“in”關鍵字將用于從文件中讀取。因此,我們利用“if”語句來檢查“File”對象是否打開了特定文件的條件。為此,使用了“is_open”函數。如果文件為空,文件流對象將在文件中輸入 6 行,如下圖所示。之后,File 對象將關閉輸出流。現在,我們通過“ios::in”聲明打開了帶有流對象“File”的同一個文件www.linuxmi.com.txt。此處使用“if”語句來交叉文件是否為空。如果是這樣,則聲明字符串類型變量“data”。while 循環中的 getline() 函數將逐行從 File 對象中獲取數據并將其保存到變量“data”中。這個變量“數據”將用于在shell上顯示行。最后,文件對象被關閉。

編譯并運行此文件后,將在www.linuxmi.com.txt 文件中寫入一行代碼時,我們還得到了 6 行輸出。如下:

結論

現在我們已經完成了一項非常出色的工作,涵蓋了主題C++:在Ubuntu 20.04系統中逐行讀取文件。我們從這個從已經創建的文本文件讀取數據的簡單示例開始。之后,我們還了解了如何使用文件處理將數據寫入文件,從文件中讀取數據,并在shell上顯示數據。 

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2022-09-22 10:22:36

C++編程語言代碼

2020-08-21 13:20:36

C++If ElseLinux

2010-02-01 13:26:58

C++讀取CSV文件

2023-10-31 12:59:00

C++編程語言

2011-07-14 17:45:06

CC++

2010-01-21 14:07:14

CC++聲明

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-26 15:51:06

C++變量

2010-01-28 13:45:06

C++數組

2011-07-15 00:47:13

C++多態

2011-06-17 16:09:04

freadfwrite

2011-08-29 16:48:50

Lua配置文件C++

2010-01-20 10:19:55

C++數組

2010-01-25 10:25:19

C++變量

2010-01-27 17:16:52

C++構造函數

2010-01-28 16:31:54

C++類型

2010-01-21 13:33:44

C++基類

2011-07-10 15:26:54

C++

2010-01-15 18:57:58

C++CLI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 婷婷久 | 日韩精品一区二区三区中文字幕 | 伊人春色在线 | 日韩伦理一区二区 | 成人午夜激情 | 黄色片免费在线观看 | 欧美激情黄色 | 成人在线一区二区三区 | 欧美黄色一区 | 精品一区二区三区在线观看国产 | 久久免费精品视频 | 欧美狠狠操 | 91中文| 免费欧美 | 国产精品久久久久久吹潮 | 亚洲精品2 | 热re99久久精品国99热观看 | 365夜爽爽欧美性午夜免费视频 | 亚洲导航深夜福利涩涩屋 | 亚洲天堂免费在线 | a免费视频 | 精品自拍视频 | 精品国产一区二区 | 欧美国产日韩成人 | 久久午夜电影 | 日韩欧美中文字幕在线视频 | 日韩2020狼一二三 | 日本不卡视频 | 欧美精品一区二区在线观看 | 国产亚洲精品久久午夜玫瑰园 | 亚洲免费一 | 国产日韩欧美激情 | 在线成人一区 | 精品国产网 | 成人av电影在线 | 精品国产18久久久久久二百 | 三级视频久久 | 久久久亚洲一区 | 青青草社区 | 日韩免费一区二区 | 在线播放91 |