Linux中标准I/O的例题

发布时间:2024年01月23日

第一题

  • 每隔1s向文件test.txt中写入当前系统的时间,格式如:2014-10-15 15:16:42,该程序无限循环,直到按Ctrl-C中断程序,每次执行程序时,系统时间追加到文件末尾,序号递增,如下:
    1.2014-10-15 15:16:42
    2.2014-10-15 15:16:43
    3.2014-10-16 11:35:07
    4.2014-10-16 11:35:08

  • 获取时间函数如下:
    time()用来获取系统时间(秒数)
    time_t time(time_t *seconds) 1970.1.1 0:0:0
    localtime()将系统时间转换成本地时间
    struct tm *localtime(const time_t timer)
    struct tm {
    int tm_sec; /
    秒,范围从 0 到 59 /
    int tm_min; /
    分,范围从 0 到 59 /
    int tm_hour; /
    小时,范围从 0 到 23 /
    int tm_mday; /
    一月中的第几天,范围从 1 到 31 /
    int tm_mon; /
    月份,范围从 0 到 11 /
    int tm_year; /
    自 1900 起的年数 /
    int tm_wday; /
    一周中的第几天,范围从 0 到 6 /
    int tm_yday; /
    一年中的第几天,范围从 0 到 365 /
    int tm_isdst; /
    夏令时 */
    };

    注意:
    int tm_mon; 获取的值要加1是正确的月份
    int tm_year; 获取的值加1900是正确的年份

  • 代码如下:
    在这里插入图片描述* 将实时时间输出到文件里面则使用fprintf函数,上述代码中被注释的那两行就是,执行后test.txt中内容如下:
    在这里插入图片描述
    注:这里要需要加一个函数,才可以将文件输入到txt文件中,那就是在sleep(1)前加入fflush(fp)函数

文章来源:https://blog.csdn.net/weixin_58036810/article/details/135758788
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。