C++输出系统当前时间,并保存于文件中,求解

C语言写:#include<time.h>#include<stdio.h>intmain(void){time_tt=time(0);chartmp[64];strft... C语言写:
#include <time.h>
#include <stdio.h>
int main( void )
{
time_t t = time(0);
char tmp[64];
strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) );
puts( tmp );
return 0;
}
C++:
#include<stdlib.h>
#include<iostream>
using namespace std;
void main()
{
system("time");
}

将C语言写的转换为C++原样输出,C++中的system("time");读取的时间有办法通过文件流保存到文件中么?或者用其他可以保存?
展开
 我来答
百度网友b5bed51
推荐于2017-11-27 · TA获得超过469个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:56.4万
展开全部
不太明白你c写的转换为c++的意思,.c写的本来就可以直接复制到.cpp作为c++代码进行编译

利用time.h 获取时间是c/c++的标准方法,也就是说,这样写出来的代码,windows和linux都能用;
而system("time")不是c++专用的方法,c语言也可以用,它本质就是在命令行cmd输入命令time 一样,只能显示出结果,无法获得返回值。我估计你是因为这个无法写入文件。

我推荐你是用timer.h来获取时间

给你一段代码参考吧,可以获取当前的时间(c/c++都可以):
#include<time.h>
time_t timeSec=time (NULL); //获取1970.1.1至当前秒数time_t
struct tm * timeinfo= localtime ( &timeSec ); //创建TimeDate,并转化为当地时间,
//struct tm * timeinfo = gmtime ( &timeSec ); //创建TimeDate,并转化为GM时间,
printf ( "The current date/time is: %s\n", asctime (timeinfo) );
//获取年 月 日 时 分 秒 对应的int值:
printf("%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
---------------------------------------------------------------------
有了上面的时间获取方法,要写入文件也是很简单的了:

FILE *fp=fopen("xxx.txt","w");
fprintf(fp, "%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
追问

输出结果是"2014-12-23 12:25"

为什么"systime.wHour"不能显示正确的小时?现在是20点,输出是12点,其余都正常显示!

追答
因为中国采用北京时间,东八区,比格林威治时间快了8小时
心中风情4
2014-12-23 · TA获得超过2247个赞
知道大有可为答主
回答量:1779
采纳率:66%
帮助的人:1058万
展开全部
system("time >myfile.txt");

So easy! 很简单的吗

追问

输出结果是"2014-12-23 12:25"

为什么"systime.wHour"不能显示正确的小时?现在是20点,输出是12点,其余都正常显示!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
童话OL
2014-12-23 · TA获得超过145个赞
知道答主
回答量:66
采纳率:0%
帮助的人:29.7万
展开全部
你这C++用的cmd命令啊。。
不过你可以这么写
system("date /t>>d:\1.txt &time /t >>d:\1.txt")

然后修改文件。。。
追问

输出结果是"2014-12-23 12:25"

为什么"systime.wHour"不能显示正确的小时?现在是20点,输出是12点,其余都正常显示!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式