格式化输出
在日常开发过程中,无论是调试程序还是打印程序计算结果,都存在控制台格式化输出的需要。格式化输出主要针对数据而言。在C++格式化输出中,常用的有如下功能:
浮点数固定小数位数格式化输出
- 采用std::cout标准输出流打印输出的实现方式示例代码一:
#include <iostream> //引入标准输出
#include<iomanip>
using namespace std;
int main()
{
float f1=3.1415926;
cout << fixed << setprecision(8) << f1 << endl;//按照8位小数输出
return 0;
}
- 采用std::cout标准输出流打印输出的实现方式示例代码二:
#include <iostream> //引入标准输出
#include<iomanip>
using namespace std;
int main()
{
std::cout.setf(std::ios::fixed, std::ios::floatfield);
std::cout.precision(8);
cout << f1 << endl;//按照8位小数输出
return 0;
}
引申,如果采用std::ofstream之类的输出流把信息输出到文件,其格式化控制方式与std::cout类似,采用同样的语句进行控制即可。
计算程序运行时间
采用C++标准库计算程序运行时间的方式,示例代码。
实现方式一,该方式计算时间的效率相对较低
clock_t start,finish;
double totaltime;
start=clock();
//把你的程序代码插入到这里面
finish=clock();
totaltime=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<"\n此程序的运行时间为"<<totaltime<<"秒!"<<endl;
实现方式二:
采用chrono库计算时间,该库的时间计算功能较多,最终输出的时间单位可以是秒、毫秒、纳秒。此处以输出时间单位为秒举例:
#include <chrono>
using namespace std;
int main()
{
auto start = std::chrono::steady_clock::now();//统计时间起点
//code...需要计算时间的代码功能
//.....
//......
//时间单位:秒
auto end = std::chrono::steady_clock::now();//统计时间终点
std::chrono::duration<double> elapsed_seconds = end - start;//计算时间差
double deltTime= elapsed_seconds.count();//转换为秒
return 0;
}