返回

C++ IOStream:简单上手,轻松掌握!

Android

C++ IOStream 入门:轻松掌握数据输入输出

简介

C++ IOStream 是一套输入输出流类,让你能够轻松地与文件、控制台和其他输入输出设备进行交互。它提供了强大的功能,让你的 C++ 代码更具可读性和可维护性。

输入

从文件中读取数据

使用 ifstream 类从文件中读取数据:

ifstream infile("input.txt");
if (infile.is_open()) {
  string line;
  while (getline(infile, line)) {
    // 处理每一行数据
  }
  infile.close();
}

从控制台中读取数据

使用 cin 对象从控制台中读取数据:

string input;
cout << "输入一些文本:";
getline(cin, input);

输出

向文件中写入数据

使用 ofstream 类向文件中写入数据:

ofstream outfile("output.txt");
if (outfile.is_open()) {
  outfile << "这是一些文本。" << endl;
  outfile.close();
}

向控制台中输出数据

使用 cout 对象向控制台中输出数据:

cout << "你好,世界!" << endl;

文件操作

打开文件

使用 open() 函数打开文件:

ifstream infile("input.txt");
ofstream outfile("output.txt");

关闭文件

使用 close() 函数关闭文件:

infile.close();
outfile.close();

读取文件

使用 getline() 函数从文件中读取每一行:

string line;
while (getline(infile, line)) {
  // 处理每一行数据
}

写入文件

使用 << 运算符向文件中写入数据:

outfile << "这是一些文本。" << endl;

流操纵符

设置输出精度

使用 precision() 函数设置输出精度:

cout.precision(2);

设置输出宽度

使用 width() 函数设置输出宽度:

cout.width(10);

设置输出对齐方式

使用 align() 函数设置输出对齐方式:

cout.align(right);

常见问题解答

  1. IOStream 和标准 I/O 有什么区别?
    IOStream 是 C++ 标准库中的一种高级 I/O 机制,提供更丰富的功能和安全性。

  2. 如何处理文件不存在的情况?
    使用 ifstream::is_open() 函数检查文件是否存在。

  3. 如何使用流操纵符设置小数点后面的位数?
    使用 fixed 流操纵符并使用 precision() 函数设置位数。

  4. 如何将输出重定向到文件而不是控制台?
    使用 freopen() 函数将 stdout 重定向到文件。

  5. IOStream 可以用来读取和写入二进制数据吗?
    是的,可以使用 fstream 类和 ios::binary 标志。

结论

C++ IOStream 是一个强大的工具,可以简化你的数据输入输出操作。通过掌握其基本概念和流操纵符,你可以轻松地与文件、控制台和其他 I/O 设备进行交互,让你的 C++ 代码更加高效和可维护。