您的位置:

C++输入流的使用方法

一、基础介绍

C++输入流是用于从文件、标准输入或者字符串中读入数据的机制,其基本的数据类型包括char、short、int、long、float、double等。同时,输入流也支持读取自定义的数据类型,只需要重载输入运算符"<<"就能实现。

C++输入流主要的类有:istreamifstream。其中,istream是IO流的基类,而ifstream则是从磁盘文件中读取数据的输入流,通常用于读入文件中的数据。

二、使用方法

1. 从标准输入读入数据


#include <iostream>
using namespace std;

int main()
{
    int num;
    cout << "请输入一个整数:" << endl;
    cin >> num;
    cout << "您输入的整数是:" << num << endl;
    return 0;
}

运行结果:


请输入一个整数:
10
您输入的整数是:10

2. 从文件中读入数据

假设我们有个文本文件"data.txt",其中包含了一些整数,我们需要将其中的数读入到程序中。


#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream fin("data.txt");
    int num;
    fin >> num;
    cout << "读取的整数是:" << num << endl;
    fin.close();
    return 0;
}

运行结果:


读取的整数是:10

3. 读取自定义类型

在C++中,我们可以自定义类型,通过重载输入运算符"<<",我们也可以使其支持从输入流中读取数据。


#include <iostream>
using namespace std;

struct Student
{
    string name;
    int age;
};

istream &operator>>(istream &in, Student &stu)
{
    in >> stu.name >> stu.age;
    return in;
}

int main()
{
    Student stu;
    cout << "请输入一个学生的姓名和年龄:" << endl;
    cin >> stu;
    cout << "您输入的学生信息是:" << stu.name << " " << stu.age << endl;
    return 0;
}

运行结果:


请输入一个学生的姓名和年龄:
Tom 18
您输入的学生信息是:Tom 18

三、注意事项

1. 在从输入流中读取数据时,需要保证输入流中的数据类型和读取数据的变量类型一致,否则可能会导致数据出错。

2. 在使用ifstream读取文件时,需要注意文件路径的正确性。

3. 在使用ifstream读取文件时,需要手动关闭输入流。