无论您使用何种操作系统,文件对于程序员、计算机用户和学生来说都是日常生活中非常重要的一部分。这些文件帮助我们以不同的格式保存数据,同时保证安全性和冗余性。那么,在今天这个简单的教程中,我们将讨论一个在Ubuntu20.04系统中逐行读取文件数据的C++示例。让我们首先在我们的Ubuntu20.04系统中安装一个名为“g++”的C++编译器,因为我们正在用C++语言编写代码。为此,我们按Ctrl+alt+T调出终端。要安装g++,请输入以下命令linuxmi@linuxmi:~/www.linuxmi.com$sudoapt-getinstallg++并使用g++--version检查g++版本。linuxmi@linuxmi:~/www.linuxmi.com$g++--versionOK,安装好g++编译器后,我们就可以实现下面的例子了。在我们的Ubuntu20.04系统中创建了一个新的c++文件。文件名为“linuxmi.com.cpp”。可以在任何编辑器中打开该文件以添加C++代码。这些编辑器包括文本、vim和nano编辑器。我们现在使用“vim”打开文件“linuxmi.com.cpp”。示例1将在vim编辑器中展开一个空白文件。我们通过包含一些重要且必要的头文件来开始我们的代码。头文件包括输入输出流、字符串和文件流头文件。代码将在没有名称空间的情况下开始。因此,我们首先启动main()方法。在我们的第一个示例中,我们使用已创建的文件逐行读取文本。“std”关键字将用于在代码中使用标准输入和输出。因此,输入文件流用于使用文件对象ReadF从主目录读取文件“www.linuxmi.com.txt”。字符串类型变量被声明为“数据”,以便在读取后将文件的文本简单地保存到其中。现在,这里使用while循环来使用C++getline()函数。该函数有两个参数,“ReadF”对象和字符串变量“data”。getline()函数将从www.linuxmi.com.txt文件中读取文本并将其保存到变量“data”中,直到文件不为空。当这个条件为真时,我们使用“cout”语句在shell中显示文件数据。让我们使用“g++”编译器在终端中编译新实现的代码。之后,使用“./linuxmi.com.out”命令执行该文件。output在终端上逐行显示文件数据。示例二我们的第一个示例是从文件中逐行读取数据并将其显示在shell上。在这个例子中,我们将数据写入一个文件,然后逐行读取它。所以我们通过打开“linuxmi.com.cpp”文件来更新代码。添加了标头和命名空间。在main()方法中,我们使用输出文件流对象,即“WriteF”向www.linuxmi.com.txt文件写入数据。用户已使用WriteF对象将数据添加到文件中。此处的WriteF对象接受来自用户的单行输入。WriteF对象将关闭,并声明“数据”。输入文件流对象,即ReadF,用于逐行读取www.linuxmi.com.txt文件中的文本。当文件不为空时,它继续使用getline方法将文件对象ReadF中的数据保存在变量“data”中。cout语句在shell上逐行显示数据。最后,ReadF输入文件流对象被关闭。程序到此结束。现在让我们执行它。首先,用g++编译器编译更新后的代码,然后执行。执行后,当用户在www.linuxmi.com.txt文件中写入一行代码时,我们也会得到一行输出。下面:示例三这是我们的最后一个但同样重要的示例,逐行从文件中读取数据。现在,我们打开同一个linuxmi.com.cpp文件并更新其代码,如下所示。所以我们开始包含必要的头文件,即iostream、string和fstream,用于文件处理。然后在主函数启动之前使用一个命名空间。此脚本与上面的两个示例代码略有不同。我们在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”中。此变量“data”将用于在shell上显示该行。最后,文件对象被关闭。编译运行这个文件后,我们在www.linuxmi.com.txt文件中写一行代码,同样得到6行输出。如下:结论我们现在已经很好地涵盖了C++主题:在Ubuntu20.04系统中逐行读取文件。我们从这个从已创建的文本文件中读取数据的简单示例开始。之后,我们还看到了如何使用文件处理将数据写入文件、从文件中读取数据以及在shell上显示数据。
