📅  最后修改于: 2023-12-03 14:39:49.490000             🧑  作者: Mango
在C++中,我们可以使用输入输出流来实现程序的输入输出操作。输入流主要用于从外部读取数据,输出流则主要用于将数据写入外部。
使用输入输出流时,需要包含iostream头文件
#include <iostream>
使用文件流时,需要包含fstream头文件
#include <fstream>
标准输入流就是从键盘输入数据,标准输出流就是向屏幕输出数据。可以使用cin和cout来实现标准输入输出。
#include <iostream>
using namespace std;
int main()
{
int num;
cout << "Please enter a number:" << endl;
cin >> num;
cout << "The number you entered is: " << num << endl;
return 0;
}
输出结果为:
Please enter a number:
10
The number you entered is: 10
文件输入输出流可以读写文件。
在写入文件时,需要用ofstream类型的对象来打开文件,并通过 << 操作符向文件中写入数据。关闭文件需要使用close()函数。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream fout("example.txt");
if (!fout)
{
cout << "Cannot open file." << endl;
return -1;
}
fout << "This is an example." << endl;
fout << "Hello World!" << endl;
fout.close();
return 0;
}
在读取文件时,需要用ifstream类型的对象来打开文件,并通过 >> 操作符从文件中读取数据。关闭文件需要使用close()函数。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("example.txt");
if (!fin)
{
cout << "Cannot open file." << endl;
return -1;
}
string line;
while (getline(fin, line))
{
cout << line << endl;
}
fin.close();
return 0;
}
C++提供了多种控制输入输出格式的方式,包括:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int num = 10;
double d = 3.14159;
cout << setw(10) << num << endl;
cout << setprecision(4) << d << endl;
cout << setfill('*') << setw(10) << num << endl;
cout << setiosflags(ios::fixed) << setprecision(3) << d << endl;
return 0;
}
输出结果为:
10
3.142
********10
3.142
可以使用freopen()函数来重定向输入输出流。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
input.txt文件内容为:
1 2
输出结果将写入output.txt文件中。