手把手教你学C++(十七)--C++ 输入输出

目录

包含头文件

基本的输入输出

输出数据

输入数据

格式化输入输出

输出格式化

输入格式化

输入输出流的错误检测

多个输入输出流

示例:使用 iostream 进行简单的计算器

总结


 

在 C++ 中,基本的输入输出主要通过标准库中的 iostream 实现。iostream 提供了 std::cinstd::cout 对象来分别处理输入和输出。下面是一些关于如何使用这些工具进行基本输入输出的示例。

包含头文件

首先,你需要包含 iostream 头文件来使用输入输出流。

 

cpp

深色版本

#include <iostream>
using namespace std;

基本的输入输出

输出数据

使用 cout 对象来输出数据。cout 是一个预定义的对象,代表标准输出设备(通常是屏幕)。

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

endl 是一个操纵符,它会输出一个换行符,并刷新输出缓冲区。

输入数据

使用 cin 对象来读取用户输入的数据。cin 同样是一个预定义的对象,代表标准输入设备(通常是键盘)。

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "Enter an integer: ";
    cin >> number;
    cout << "You entered: " << number << endl;
    return 0;
}

格式化输入输出

输出格式化

你可以使用流中的操纵符来格式化输出。

 

cpp

深色版本

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

int main() {
    double pi = 3.14159265358979323846;
    cout << "The value of Pi is approximately " << setprecision(4) << fixed << pi << endl;
    return 0;
}

在这个例子中,setprecision 设置了小数点后的精度,fixed 则使输出保持固定的小数位数。

输入格式化

使用 >> 时,cin 会跳过前导空白字符(如空格、制表符、换行符等)。如果需要读取包含空白字符的字符串,可以使用 getline

 

cpp

深色版本

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

int main() {
    string line;
    cout << "Enter a line: ";
    getline(cin, line);
    cout << "You entered: " << line << endl;
    return 0;
}

输入输出流的错误检测

你可以通过检查 cin 是否处于错误状态来判断输入是否成功。

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    int number;
    cout << "Enter an integer: ";
    cin >> number;
    
    if (cin.fail()) {
        cout << "Invalid input." << endl;
        cin.clear(); // 清除错误标志
        cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略错误输入
    } else {
        cout << "You entered: " << number << endl;
    }
    
    return 0;
}

多个输入输出流

你可以创建多个 ostreamistream 对象来处理不同的输入输出源。

 

cpp

深色版本

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

int main() {
    ofstream outFile("output.txt");
    if (!outFile.is_open()) {
        cerr << "Failed to open the file." << endl;
        return 1;
    }

    cout << "Enter some text: ";
    string text;
    cin >> text;
    outFile << "You entered: " << text << endl;
    outFile.close();

    ifstream inFile("output.txt");
    if (!inFile.is_open()) {
        cerr << "Failed to open the file." << endl;
        return 1;
    }

    string line;
    while (getline(inFile, line)) {
        cout << line << endl;
    }
    inFile.close();

    return 0;
}

示例:使用 iostream 进行简单的计算器

下面是一个简单的计算器示例,演示如何使用 iostream 进行输入输出:

 

cpp

深色版本

#include <iostream>
using namespace std;

int main() {
    double num1, num2;
    char op;
    cout << "Enter an expression (e.g., 5 + 6): ";
    cin >> num1 >> op >> num2;

    switch (op) {
        case '+':
            cout << "Result: " << num1 + num2 << endl;
            break;
        case '-':
            cout << "Result: " << num1 - num2 << endl;
            break;
        case '*':
            cout << "Result: " << num1 * num2 << endl;
            break;
        case '/':
            if (num2 != 0) {
                cout << "Result: " << num1 / num2 << endl;
            } else {
                cout << "Error: Division by zero." << endl;
            }
            break;
        default:
            cout << "Invalid operator." << endl;
    }

    return 0;
}

总结

iostream 是 C++ 中处理输入输出的标准库,它提供了丰富的功能来支持基本的输入输出操作。通过 coutcin,你可以轻松地与用户交互,同时还可以使用各种流操纵符来格式化数据。理解和掌握这些基本的输入输出技巧,可以帮助你编写出更健壮和易于维护的程序。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值