您现在的位置是:首页 >技术交流 >C++系列五:输入/输出网站首页技术交流

C++系列五:输入/输出

机器学习Zero 2024-06-05 00:00:03
简介C++系列五:输入/输出

1. 输入

输入是指从外部源获得数据的过程, C++中可通过键盘或文件等外部源来获取输入数据。

(1)cin

cin是C++标准库中的一个输入流对象,用于从标准输入设备(通常是键盘)读取数据。cin是一个用于读取不同类型数据的操作符。

e.g. 从用户输入读取整数:

#include <iostream>
using namespace std;

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

运行上述代码,输出:

Enter an integer: 10
You entered: 10

上述代码中可以看出,首先需要包含iostream头文件,然后使用using namespace std; 声明std命名空间。之后定义了一个整型变量num,并提示用户输入一个整数。最后,使用cin>>num语句将输入值存储在num变量中。需要注意,>> 是一个操作符,用于从输入流中提取数据。

(2)getline

getline是用于读取一行文本的函数,可从文件或标准输入读取一行字符,并将该行保存到一个字符串变量中。

e.g. 读取一行文本

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

int main() {
    string str;
    cout << "Enter your name: ";
    getline(cin, str);
    cout << "Hello, " << str << endl;
    return 0;
}

上述代码中,定义了一个字符串变量str,然后提示用户输入姓名。接下来,使用getline(cin, str)函数读取用户输入的整行数据,并将其存储在str变量中。最后,输出欢迎消息,其中包括用户输入的名称。

(3)文件输入

除了从键盘获取输入外,C++还允许从文件中读取输入。要进行文件输入,需要打开一个文件,然后使用cin重定向输入流。

e.g. 从文件中读取输入

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

int main() {
    ifstream infile("input.txt");
    int num;
    while (infile >> num) {
        cout << num << endl;
    }
    infile.close();
    return 0;
}

上述代码中,首先使用ifstream打开名为“input.txt”的文件,然后使用while循环读取文件中的每个整数并将其输出到屏幕上。最后,使用infile.close()关闭输入文件。

2. 输出

输出是指将数据发送到外部源的过程,C++中可通过控制台输出或将数据写入文件来进行输出。以下是C++中最常见的输出函数:

(1)cout

cout是C++标准库中的一个输出流对象,用于将数据打印到标准输出设备(通常是屏幕)。

e.g.

#include <iostream>
using namespace std;

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

上述代码中,使用cout输出“Hello, world!”字符串,并使用endl语句添加新行。

(2)文件输出

除了将数据输出到控制台外,C++还允许将数据写入文件。要进行文件输出,需打开一个文件并使用cout重定向输出流。

e.g. 将数据写入文件

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

int main() {
    ofstream outfile("output.txt");
    outfile << "Hello, world!" << endl;
    outfile.close();
    return 0;
}

上述代码中,首先使用ofstream打开名为“output.txt”的输出文件,然后使用outfile << “Hello, world!”语句将字符串写入文件。最后,使用outfile.close()关闭输出文件。

3. 格式化输出

某些情况下需要以特定格式输出数据,例如浮点数保留小数点后两位。C++提供了一些格式化输出函数,可用于控制输出数据的格式。

(1)setw

setw()函数用于设置输出字段宽度。

e.g. 在一个字段宽度为10的列中输出一个整数

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

int main() {
    int num = 12345;
    cout << setw(10) << num << endl;
    return 0;
}

运行上述代码,输出:

12345

上述代码中,将num变量输出到屏幕时,使用了setw(10)函数来指定输出字段的宽度。

(2)setprecision

setprecision()函数用于设置浮点数的精度。

e.g. 将浮点数保留小数点后两位

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

int main() {
    double num = 3.1415926535;
    cout << setprecision(2) << num << endl;
    return 0;
}

运行上述代码,输出:

3.14

上述代码中使用setprecision(2)函数来指定浮点数的输出精度。

(3)fixedscientific

fixedscientific是两个控制浮点数输出格式的函数。fixed函数用于以固定小数位输出浮点数,而scientific函数用于以科学计数法输出浮点数。

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

int main() {
    double num = 1234567890.123456;
    cout << fixed << setprecision(2) << num << endl;
    cout << scientific << setprecision(2) << num << endl;
    return 0;
}

运行上述代码,输出

1234567890.12
1.23e+009

上述代码中,使用fixed函数以固定格式输出浮点数,而使用scientific函数则以科学计数法输出浮点数。

4. 总结

20年前学习C++语言的幼稚记录

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。