`
xidajiancun
  • 浏览: 477427 次
文章分类
社区版块
存档分类
最新评论

ctime的连续调用覆盖以前的值

 
阅读更多



ctime() 的连续调用覆盖以前的值


随后调用 ctime() 函数重写前一次调用的结果。下面的代码示例演示了此行为通过打印相同时间的开始时间和完成其第一个的 printf () 调用中的时间。但是,应该不同的开始和结束时间。若要更正这种情况下,不要在一次调用 printf 两次调用 ctime完成时间则晚于开始时间,如预期的那样。

这是预期的行为。Ctime() 函数使用一个静态缓冲区来存储其结果。因此,当第二个 ctime() 调用 printf 函数中,ctime() 会覆盖第一个 ctime() 调用返回的值。


/*
 * Compile options needed: None
 */ 

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

time_t start, finish=0;

void main(void)
{

  //loop until 3 seconds pass
  for (time(&start); finish-start < 3; time(&finish))
  ;


  /* If the following statement is used, the start and finish
     display times do not differ, both parameters get a copy of
     the same buffer which is overwritten twice before entering
     printf: */ 

  printf("Start time was %s and ending time was %s", ctime(&start),
     ctime(&finish));

  /* If the following statements are used instead, the start and
     finish times are different, as expected: */ 

     printf("Start time was %s", ctime(&start));
     printf("and ending time was %s\n", ctime(&finish));
}

分享到:
评论

相关推荐

    CTime

    它包含了几个构造函数,允许我们以不同的方式初始化时间对象,比如通过当前系统时间、特定的时间戳或者年、月、日、小时、分钟和秒等具体值。例如,我们可以使用`CTime::GetLocalTime()`或`CTime::GetSystemtime()`...

    CString类型转换为CTime类型的函数

    最后一步是使用这些整数值创建一个`CTime`对象。这里假设时间信息默认为零时零分零秒。 ```cpp tm = CTime(nYear, nMonth, nDay, 0, 0, 0); ``` #### 4. 使用示例 为了更好地理解如何使用此函数,下面给出一个...

    CTime计算时间差

    4. **提取时间差的具体值**:从`CTimeSpan`对象中提取所需的时间单位(如天、小时、分钟等)。 #### 示例代码解析 下面是一段示例代码,展示了如何使用`CTime`和`CTimeSpan`来计算时间差: ```cpp #include ...

    super_CTime CTime的各种转换子程序库。

    super_CTime CTime的各种转换子程序库。和字符串的转换、和数字的转换等等 std::string getDateString(bool fgf);//获得表示当前日期的字符串,fgf表示是否需要分隔符 std::string getTimeString(bool fgf);//...

    自己写的CTime类

    `CTime`类的实现展示了如何构建一个简单的日期和时间管理类。在这个类中,主要功能集中在以字符串形式初始化时间以及支持加减操作,以秒为单位。下面将详细解析这些知识点。 首先,`CTime`类的构造函数可能接受一个...

    怎样将CString转换成CTime类型

    怎样将CString转换成CTime类型

    c++ 时间 stl ctime使用demo

    - `tm_isdst`: 是否为夏令时,可能的值为0(非夏令时)、1(夏令时)或未定义。 4. **时间操作** C++ STL并没有提供直接修改`tm`结构体的函数,但你可以通过创建新的`tm`结构体来实现时间的加减。例如,增加一天...

    CTime具体格式

    - 使用系统当前时间初始化对象,通过调用静态成员函数`CTime::GetCurrentTime()`。 #### 2. 获取时间组件 一旦有了CTime对象,就可以通过一系列成员函数获取具体的时间组件,包括年、月、日、时、分、秒以及星期几...

    CTime::Format参数使用说明

    ### CTime::Format 方法参数详解 #### 概述 `CTime::Format` 是 MFC(Microsoft Foundation Classes)库中的一个方法,用于将 `CTime` 对象转换为字符串表示形式。该方法允许用户通过指定格式字符串来定制日期和...

    ctime

    ctime 程序 [程序参数] 结果说明: Total 表示整个程序运行时间 Kernel 在内核模式下运行时间 User 在用户模式下运行时间 欢迎来信提出建议和意见! yuanhen88@hotmail.com yuanhen88@mail.china.com ...

    一个CTime类.

    一个CTime类.一个CTime类.一个CTime类.一个CTime类.一个CTime类.

    VS2019 CTime、CTimeSpan例程ConsoleApplicationCTimeAndCTimeSpan.rar

    在C++编程中,`CTime`和`CTimeSpan`是Microsoft的MFC(Microsoft Foundation Classes)库中用于处理日期和时间的类。本文将深入探讨这两个类以及如何在Visual Studio 2019(VS2019)环境下使用它们。 `CTime`类: `...

    c++ 计算时间差值CTime(本科作业)

    `CTime`是Microsoft C++ Standard Library中的一个类,它提供了一种处理时间的方式,但要注意,这不是标准C++库的一部分,而是Visual C++特有的。在本本科作业中,你将学习如何使用`CTime`类来计算两个日期时间之间...

    如何将CTime类型转换为CString

    如何将CTime 类型转换为CString

    利用CTime做的预售期计算器,可计算时间跨度

    利用CTime做的一个时间跨度计算器; 灵感来自于春节买火车票时预售期的计算,提示预售20日内的火车票,但是最晚能买到具体哪一天,有时候算起来很麻烦,就得对着日历一个一个的数,再遇到是否包含今日的问题,真是很...

    C语言头文件 CTIME

    C语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 CTIMEC语言头文件 ...

    linux下find命令-atime,-ctime,-mtime真正含义

    本文将深入解析`find`命令中的三个时间参数:`-atime`, `-ctime`, 和 `-mtime`,以及如何结合这些参数来定位和管理文件。 ### 1. `-atime`(访问时间) `-atime` 参数用于查找在过去n天内被访问过的文件。这里的...

    字符串转换日期CString to CTime

    在C++中,如果你使用MFC(Microsoft Foundation Classes)库,那么`CString`和`CTime`是两个常用的数据类型,分别用于表示字符串和日期时间。本文将详细介绍如何将`CString`类型的字符串转换为`CTime`对象。 首先,...

    4个字节Ctime格式转换为标准时间格式

    4个字节Ctime格式转换为标准时间格式

Global site tag (gtag.js) - Google Analytics