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

在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;
}

结束,快去试试吧!

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要从ps文件获取打印方向,您可以使用C语言中的libgs库,该库是Ghostscript的C语言接口。以下是一个简单的示例程序,用于获取ps文件打印方向: ```c #include <stdio.h> #include <string.h> #include "ghostscript/gdevdsp.h" #include "ghostscript/iapi.h" int main(int argc, char *argv[]) { int code; gsapi_revision_t r; gsapi_instance *instance; const char *filename = "test.ps"; // 替换为您的ps文件名 FILE *file; long file_size; char *file_buffer; int orientation; // 初始化Ghostscript code = gsapi_revision(&r, sizeof(r)); if (code < 0) { printf("Failed to initialize Ghostscript\n"); return 1; } code = gsapi_new_instance(&instance, NULL); if (code < 0) { printf("Failed to create Ghostscript instance\n"); return 1; } // 打开ps文件并读取其内容 file = fopen(filename, "rb"); if (!file) { printf("Failed to open input file\n"); return 1; } fseek(file, 0, SEEK_END); file_size = ftell(file); fseek(file, 0, SEEK_SET); file_buffer = (char *) malloc(file_size + 1); fread(file_buffer, file_size, 1, file); fclose(file); file_buffer[file_size] = 0; // 设置Ghostscript参数 gsapi_set_arg_encoding(instance, GS_ARG_ENCODING_UTF8); gsapi_set_stdio(instance, NULL, stdout, stderr); // 初始化Ghostscript code = gsapi_init_with_args(instance, argc, argv); if (code < 0) { printf("Failed to initialize Ghostscript instance\n"); return 1; } // 处理ps文件获取打印方向 code = gsapi_run_string_begin(instance, 0, &orientation); if (code == 0) { code = gsapi_run_string_continue(instance, file_buffer, file_size, 0, &orientation); } if (code == 0) { code = gsapi_run_string_end(instance, 0, &orientation); } if (code < 0) { printf("Failed to process input file\n"); return 1; } if (orientation == 0) { printf("Vertical orientation\n"); } else if (orientation == 1) { printf("Horizontal orientation\n"); } else { printf("Unknown orientation\n"); } // 关闭Ghostscript gsapi_exit(instance); gsapi_delete_instance(instance); free(file_buffer); return 0; } ``` 在这个例子中,我们使用Ghostscript的C语言接口来处理ps文件获取打印方向。我们首先打开ps文件并读取其内容,然后使用`gsapi_init_with_args`函数初始化Ghostscript实例并设置参数。接下来,我们使用`gsapi_run_string_begin`、`gsapi_run_string_continue`和`gsapi_run_string_end`函数来处理ps文件获取打印方向。最后,我们使用`gsapi_exit`和`gsapi_delete_instance`函数关闭Ghostscript实例并释放内存。 请注意,这只是一个简单的示例程序,您可能需要根据实际情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值