zoukankan      html  css  js  c++  java
  • 获取系统时间,序号追加输出到文本

    #include<stdlib.h>
    #include<stdio.h>
    #include<string.h>
    #include<error.h>
    #include<errno.h>
    #include<unistd.h>
    #include<strings.h>
    #include<stdbool.h>

    #include<sys/stat.h>
    #include<sys/types.h>
    #include<sys/wait.h>
    #include<fcntl.h>
    #include<time.h>
    int main(int argc,char **argv)
    {
    FILE *file_line = fopen("time.txt","a+");
    if(file_line == NULL)
    {
    fprintf(stderr,"fopen() %s failed :%s","time.txt",strerror(errno));
    exit(0);
    }

    FILE *lp;
    int n=0;
    if(!access("line",F_OK))//判断文件是否存在
    {
    lp = fopen("line","r");
    fread(&n,sizeof(n),1,lp);
    lp = freopen("line","w",lp);//注意权限的选择,从零行开始追加
    }
    else
    {
    lp = fopen("line","w");
    }
    setvbuf(file_line,NULL,_IONBF,0);//更改file_line缓冲方式,否则出现乱码,或者无法显示时间文本。
    time_t t;
    char buff[50];
    while(1)
    {
    n++;
    time(&t);//获取当前时间
    snprintf(buff,50,"%3d. %s",n,ctime(&t));//将获取到的时间转换为字符串,然后将行号和字符串以“%3d. %s”的格式输出到buff中,一次最多输出50字节。
    fputs(buff,file_line);//这里可以使用简单的fputs,而不需要fwrite.

    //刷新行号
    rewind(lp);//指针定位到文件内容最开始的地方
    fwrite(&n,sizeof(n),1,lp);//将最新的行号写入lp
    fflush(lp);//强制刷新
    sleep(1);

    }

    }

  • 相关阅读:
    mysql8.0.20安装
    MySQL EXPLAIN结果集分析
    初次安装aliSql
    升级vim到8.0
    REPL环境对语言的帮助
    Python环境搭建及pip的使用
    mysql数据库分库分表(Sharding)
    Git的使用
    Promise的初步认识
    对引用的文件起别名
  • 原文地址:https://www.cnblogs.com/defen/p/5190741.html
Copyright © 2011-2022 走看看