自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++進(jìn)階教程:C++逐行讀取文件

系統(tǒng) Linux
讓我們先從 Ubuntu 20.04 系統(tǒng)中安裝名為“g++”的 C++編譯器開(kāi)始,因?yàn)槲覀冋谟?C++ 語(yǔ)言編寫代碼。為此,我們按Ctrl+alt+T調(diào)出終端。

 

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

讓我們先從 Ubuntu 20.04 系統(tǒng)中安裝名為“g++”的 C++編譯器開(kāi)始,因?yàn)槲覀冋谟?C++ 語(yǔ)言編寫代碼。為此,我們按Ctrl+alt+T調(diào)出終端。

安裝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++編譯器后,我們現(xiàn)在就可以實(shí)現(xiàn)以下示例了。

在我們的 Ubuntu 20.04 系統(tǒng)中創(chuàng)建了一個(gè)新的 c++ 文件。文件名為“linuxmi.com.cpp”。該文件可以在任何編輯器中打開(kāi)以添加 c++ 代碼。這些編輯器包括文本、vim 和 nano 編輯器。我們現(xiàn)在使用“vim”打開(kāi)文件“linuxmi.com.cpp”。

示例一

空白文件將在 vim 編輯器中展開(kāi)。我們已經(jīng)通過(guò)包含一些重要且必要的頭文件來(lái)開(kāi)始我們的代碼。頭文件包括輸入輸出流、字符串和文件流頭文件。代碼將在沒(méi)有命名空間的情況下啟動(dòng)。所以,我們首先啟動(dòng)了main()方法。在我們的第一個(gè)示例中,我們使用已經(jīng)創(chuàng)建的文件逐行讀取文本。“std”關(guān)鍵字將用于在代碼中使用標(biāo)準(zhǔn)輸入和輸出。

因此,輸入文件流用于使用文件對(duì)象,即ReadF 從主目錄中讀取文件“www.linuxmi.com.txt”。字符串類型變量被聲明為“data”,以便在讀取后將文件的文本簡(jiǎn)單地保存到其中?,F(xiàn)在,這里使用 while 循環(huán)來(lái)使用 C++ 的 getline() 函數(shù)。該函數(shù)有兩個(gè)參數(shù),即“ReadF”對(duì)象和字符串變量“data”。getline() 函數(shù)將從 www.linuxmi.com.txt 文件中讀取文本并將其保存到變量“data”中,直到文件不為空。當(dāng)這個(gè)條件成立時(shí),我們使用“cout”語(yǔ)句在shell中顯示文件數(shù)據(jù)。

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

示例二

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

最后,ReadF輸入文件流對(duì)象被關(guān)閉。程序到此結(jié)束。現(xiàn)在讓我們執(zhí)行它。

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

示例三

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

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

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

結(jié)論

現(xiàn)在我們已經(jīng)完成了一項(xiàng)非常出色的工作,涵蓋了主題C++:在Ubuntu 20.04系統(tǒng)中逐行讀取文件。我們從這個(gè)從已經(jīng)創(chuàng)建的文本文件讀取數(shù)據(jù)的簡(jiǎn)單示例開(kāi)始。之后,我們還了解了如何使用文件處理將數(shù)據(jù)寫入文件,從文件中讀取數(shù)據(jù),并在shell上顯示數(shù)據(jù)。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2022-09-22 10:22:36

C++編程語(yǔ)言代碼

2020-08-21 13:20:36

C++If ElseLinux

2010-02-01 13:26:58

C++讀取CSV文件

2023-10-31 12:59:00

C++編程語(yǔ)言

2011-07-14 17:45:06

CC++

2010-01-21 14:07:14

CC++聲明

2010-01-21 09:34:57

C++語(yǔ)法

2010-01-27 16:05:06

C++堆棧

2010-01-26 15:51:06

C++變量

2010-01-28 13:45:06

C++數(shù)組

2011-07-15 00:47:13

C++多態(tài)

2011-08-29 16:48:50

Lua配置文件C++

2011-06-17 16:09:04

freadfwrite

2010-01-20 10:19:55

C++數(shù)組

2010-01-21 13:33:44

C++基類

2010-01-25 10:25:19

C++變量

2010-01-28 16:31:54

C++類型

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2011-07-10 15:26:54

C++

2011-08-22 17:25:31

LuaC++函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)