1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C ++基础 | 格式化输出 文件输入输出(File IO) 头文件(Header Files)_3

C ++基础 | 格式化输出 文件输入输出(File IO) 头文件(Header Files)_3

时间:2020-05-24 16:14:48

相关推荐

C ++基础 | 格式化输出 文件输入输出(File IO) 头文件(Header Files)_3

目录

格式化输出

文件输入输出(File IO)

头文件(Header Files)

格式化输出

要格式化数据,我们可以使用转义字符串(EscapeSequence)也称字符实体(Character Entity)。这些不需要任何额外的库。

C ++ 转义字符串 与 其他语言非常相似。最常见的是:\ n - 换行符\ t - 制表符。如图

我们还可以使用iomanip库 格式化输出(如图),包括作为哈希标记包括iomanip库并将其放在括号中,因为它存储在标准库位置。旦包含后,您可以使用此库格式化输出。例如,我们可以使用 setw 命令设置输出的宽度。我已经设置了10个空格的宽度。

例如,此语句标准 cout ints设置为width为10,float将宽度设置为10并且"Doubles"后使用换行符,会生成以下输出int,float和double(如图)。您会注意到间距为10。看起来在单词整数之后有更多空格,这只是因为 "Ints" 有四个字母,有六个空格,"Floats"有六个字母,有四个空格,然后"Doubles"有七个字母。

以下是是 setw 命令的使用例子:

#include <iomanip>std::cout<<"\n\nThe text without any formating\n";std::cout<<"Ints"<<"Floats"<<"Doubles"<< "\n";std::cout<<"\nThe text with setw(15)\n";std::cout<<"Ints"<<std::setw(15)<<"Floats"<<std::setw(15)<<"Doubles"<< "\n";std::cout<<"\n\nThe text with tabs\n";std::cout<<"Ints\t"<<"Floats\t"<<"Doubles"<< "\n";

输出:

例2:

#include <iostream>#include <iomanip>using namespace std;int main(){int a = 45;float b = 45.323;double c = 45.5468;int aa = a + 9;float bb = b + 9;double cc = c + 9;int aaa = aa + 9;float bbb = bb + 9;double ccc = cc + 9;cout<<"a\040=\040"<<a<<'\n';cout<<"aa = a + 9 = "<<aa<<'\n';cout<<"aaa = aa + 9 = "<<aaa<<'\n';cout<<"\n\nb = "<<b<<'\n';cout<<"bb = b + 9 = "<<bb<<'\n';cout<<"bbb = bb + 9 = "<<bbb<<'\n';cout<<"\n\nc = "<<c<<'\n';cout<<"cc = c + 9 = "<<cc<<'\n';cout<<"ccc = cc + 9 = "<<ccc<<'\n';return 0;}

输出:

这里注意一个转义字符:"\040","\040"中的040表示8进制数40,即对应的10进制为32。即是空格符号。

例3:

#include <iostream>#include <iomanip>int main(){int a = 45;float b = 45.323;double c = 45.5468;int aa = a + 9;float bb = b + 9;double cc = c + 9;int aaa = aa + 9;float bbb = bb + 9;double ccc = cc + 9;std::cout<<"print with set width = 10\n";std::cout<<"Ints"<<std::setw(10);std::cout<<"Floats"<<std::setw(10);std::cout<<"Doubles"<<std::setw(10) << "\n";std::cout<< a;std::cout<< std::setw(12)<< b;std::cout<< std::setw(10)<< c << "\n"; std::cout<< aa;std::cout<< std::setw(12)<< bb;std::cout<< std::setw(10)<< cc << "\n"; std::cout<< aaa;std::cout<< std::setw(12)<< bbb;std::cout<< std::setw(10)<< ccc << "\n\n"; std::cout<<"print with tabs\n";std::cout<<"Int"<<"\tFloats"<<"\tDoubles\n";std::cout<< aaa<<"\t"<< bbb<<"\t"<< ccc <<"\n"; return 0;}

输出:

文件输入输出(File IO)

1。与其他编程语言一样,C ++ 可以读写文件。文件IO的步骤包括 <fstream> 库。这是包含读取和写入文件的所有指令的库。

2。然后我们需要创建一个流。我们有三种选择来创建流,输入,输出或两者。

(1)ofstream myfile。这个告诉我们我们要创建一个输出流,该流的名称是myfile,这就是我们用来写入文件的内容。

(2)ifstream myfile。我们正在创建一个名为myfile的输入流,这是用于读取文件。所以输入和输出是指程序而不是文件。

(3)fstream myfile。 Myfile将是我们将用于读取和写入文件的流的名称。

3。在我们创建了流之后,我们必须打开该文件。那么我们说myfile.open("filename")

4。如果该文件不存在,程序将创建它。然后,我们写或读文件。

5。最后,使用myfile.close关闭该文件。

在下一个练习中的内容如下:

1、您将看到输出流和输入流的运行情况。我希望你以两种不同的方式使用这个程序。首先,更改名为input.txt的文件的内容。

2、然后,将ifstream和ofstream更改为fstream。

我们来看一个例子:

#include <iostream>#include <fstream>#include <string>using namespace std;int main () {string line;//create an output stream to write to the file//append the new lines to the end of the fileofstream myfileI ("input.txt", ios::app);if (myfileI.is_open()){myfileI << "\nI am adding a line.\n";myfileI << "I am adding another line.\n";myfileI.close();}else cout << "Unable to open file for writing";//create an input stream to write to the fileifstream myfileO ("input.txt");if (myfileO.is_open()){while ( getline (myfileO, line) ){cout << line << '\n';}myfileO.close();}else cout << "Unable to open file for reading";return 0;}

解析:

我们已经包含了fstream(如图)。

首先,我们要写入文件(如图)。我们将使用名为 myfileI 的输出文件流,并将输入 input.txt 是我们要写入的文件,我们将追加到此文件的末尾。通常,如果程序写入文件,我们可以打开该文件并查看该文件中添加的文本。在这种情况下我们不能这样做,所以我们将无法在文件中看到添加的文本,但是当我们从文件中读取时,我们将能够看到添加的文本。

所以,我们有我们的 input.txt 文件,它有三行,

我们将运行一个程序,将添加两行。我正在添加一行,我正在添加另一行。

然后,它将读出该文件中的所有行。

程序运行,输出:

当我们查看 input.txt 时,它添加了行,我添加了一行,我添加了另一行。我们还可以继续编辑 input.txt 文件。

头文件(Header Files)

正如我们所看到的,我们可以在C ++中包含其他库。我们还可以包括我们自己的库。传统上,这些文件称为头文件(Header Files),它们具有.hpp扩展名(为什么叫.hpp,因为里面h代表header也就是头文件的意思),但任何扩展名都可以使用。

头文件包含有关如何执行任务的信息,而主程序包含有关如何完成任务的信息。

让我们看看头文件如何与简单的“Hello,world!”一起工作。我们可以测试这个程序运行。如图

让我们删除与执行任务没有直接关系的所有内容,包括 include 语句,在本例中为 iostream 和 string ,以及 using 语句,使用namespace.standard,让我们将它们放在头文件中。如图

以下是我创建的头文件,

现在,我们必须告诉编译器包含头文件。

请注意,我在这里使用双引号。

如果使用尖括号,则会出现编译错误,因为 main.hpp 位于我们的本地工作目录中。尖括号说,“查看标准库目录”。现在,如果我们要运行这个程序,它就会像所有标题信息仍然在 main.cpp 程序中一样工作。

运行结果:

调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。