c++获得系统时间,将时间写入TXT文件

最近在测试一些东西时,想获取当前的时间方便区分我的程序某一步的确触发了。找了一下获取系统时间的方法。写下了当个随笔,以后好翻。
直接上代码,反正一看就懂。

#include <windows.h> 
#include<iostream>
#include<fstream>

using std::cout;
using std::cin;
using std::endl;

int main(void)
{
	SYSTEMTIME sys;       // 定义一个 SYSTEMTIME 结构体 sys
	GetLocalTime(&sys);   // GetLocalTime是一个Windows API 函数,用来获取当地的当前系统日期和时间。
    cout << sys.wYear <<"/"<< sys.wMonth << "/" << sys.wDay << "      " << sys.wHour << ":" << sys.wMinute << ":" << sys.wSecond << endl;
	return 0;
}

然后,结果是
在这里插入图片描述
20:7:1 好难看,想办法变成20:07:01;查了下,利用流格式控制符可以搞定,头文件是iomanip,代码改为

#include <windows.h> 
#include<iostream>
#include<fstream>
#include<iomanip>

using std::cout;
using std::cin;
using std::endl;
using std::setw;
using std::setfill;

int main(void)
{
	SYSTEMTIME sys;       // 定义一个 SYSTEMTIME 结构体 sys
	GetLocalTime(&sys);   // GetLocalTime是一个Windows API 函数,用来获取当地的当前系统日期和时间。
    cout << sys.wYear <<"/"<< sys.wMonth << "/" << sys.wDay << "      " << std::setfill('0') << std::setw(2) << sys.wHour 
		 << ":" << std::setfill('0') << std::setw(2) << sys.wMinute << ":" << std::setfill('0') << std::setw(2) << sys.wSecond << endl;
	return 0;
}

完成了,现在的输出好看一些了。
在这里插入图片描述
怎么把这个东西和我的测试结果写到一个TXT文件呢?,代码如下

#include <windows.h> 
#include<iostream>
#include<fstream>
#include<iomanip>

using std::cout;
using std::cin;
using std::endl;
using std::setw;
using std::setfill;
using std::ofstream;
using std::ios;

int main(void)
{
	SYSTEMTIME sys;       // 定义一个 SYSTEMTIME 结构体 sys
	GetLocalTime(&sys);   // GetLocalTime是一个Windows API 函数,用来获取当地的当前系统日期和时间。
   /* cout << sys.wYear <<"/"<< sys.wMonth << "/" << sys.wDay << "      " << std::setfill('0') << std::setw(2) << sys.wHour 
		   << ":" << std::setfill('0') << std::setw(2) << sys.wMinute << ":" << std::setfill('0') << std::setw(2) << sys.wSecond << endl;
	*/
	ofstream writeFile;            //实例一个写文件对象
	writeFile.open("C://Users//l50006610//Desktop//代码test//test_output//Test.txt", ios::app);     //创建一个Test.txt文本,并且打开Test.txt文件
	writeFile<<"test successful     "<<sys.wYear << "/" << sys.wMonth << "/" << sys.wDay << "      " << std::setfill('0') << std::setw(2) << sys.wHour
		     << ":" << std::setfill('0') << std::setw(2) << sys.wMinute << ":" << std::setfill('0') << std::setw(2) << sys.wSecond << endl;
	return 0;
}

结果如下
在这里插入图片描述

posted on 2021-06-06 17:30  雾恋过往  阅读(487)  评论(0编辑  收藏  举报

Live2D