C语言获取系统时间,并打印到文件里

本文介绍了一个在Linux环境下,使用C语言实现的程序,该程序能够每隔1秒将当前时间和日期连同行号写入名为time.txt的文件中,直到达到20行后停止。代码包括了错误处理和时间格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在linux下测试ok,代码如下:

/**************************************************************
*程序功能:新建一个time.txt文件,每隔1秒写入日期和时间,带行号
*时间:2019年11月19日
**************************************************************/

#include <stdio.h>
#include <time.h>
#include <unistd.h>

int main(int argc, const char *argv[])
{
	time_t ts=0;
	int line=0;
	struct tm* tm=NULL;
	FILE* fp=NULL;
	fp=fopen("./time.txt","w+");//打开(创建)time.txt文件
	if(fp==NULL)//判断是否打开成功
	{
		perror("fopen");
		return -1;
	}
	while(1)
	{
		ts = time(NULL);//获取1970年1月1日00:00:00到现在的时间秒数
		if(ts==-1)
		{
			perror("get-time");
			return -1;
		}
//		printf("%ld \n",ts);
		
		tm = localtime(&ts);//把所获取的时间秒数格式化为日期和时间
		if(tm==NULL)
		{
			perror("local-time");
			return -1;
		}
		printf("%d年 %02d月 %02d日 %02d点 %02d分 %02d秒\n",
				tm->tm_year+1900,tm->tm_mon,tm->tm_mday,
				tm->tm_hour,tm->tm_min,tm->tm_sec);//再屏幕上标准输出所获取的日期和时间
	
		line++;//标记行号,每次+1行
		fprintf(fp,"LINE:%02d: %d年 %02d月 %02d日 %02d点 %02d分 %02d秒\n",line,
				tm->tm_year+1900,tm->tm_mon,tm->tm_mday,
				tm->tm_hour,tm->tm_min,tm->tm_sec);//在打开的time.txt文件中写入日期和时间

		fflush(fp);//刷新缓冲区,让存在缓冲区的数据写入文件中
		sleep(1);//眼石1秒
		

		if(line>=20)//满20行后退出
		{
			break;
		}

	}	
		fclose(fp);//关闭打开的time.txt文件
		return 0;
}

结束,快去试试吧!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值