当前位置:  技术问答>linux和unix

有问题不明白,半天没弄明白,请求坛子兄弟帮忙。

    来源: 互联网  发布时间:2016-08-08

    本文导语:  #include  #include  #include  int main() {    struct tm *tm_ptr, timestruct;    time_t the_time;    char buf[256];    char *result;    (void) time(&the_time);    tm_ptr = localtime(&the_time);    strftime(buf, 256, “%A %d %B, %I:%S %p”, tm...

#include 
#include 
#include 
int main()
{
   struct tm *tm_ptr, timestruct;
   time_t the_time;
   char buf[256];
   char *result;

   (void) time(&the_time);
   tm_ptr = localtime(&the_time);
   strftime(buf, 256, “%A %d %B, %I:%S %p”, tm_ptr);

   printf(“strftime gives: %sn”, buf);

   strcpy(buf,”Thu 26 July 2007, 17:53 will do fine”);

   printf(“calling strptime with: %sn”, buf);
   tm_ptr = ×truct;

   result = strptime(buf,”%a %d %b %Y, %R”, tm_ptr);
   printf(“strptime consumed up to: %sn”, result);

   printf(“strptime gives:n”);
   printf(“date: %02d/%02d/%02dn”,
        tm_ptr->tm_year % 100, tm_ptr->tm_mon+1, tm_ptr->tm_mday);
   printf(“time: %02d:%02dn”,
       tm_ptr->tm_hour, tm_ptr->tm_min);
   exit(0);
}


下面是运行结果
strftime gives: Saturday 09 June, 08:16 AM
calling strptime with: Thu 26 July 2007, 17:53 will do fine
strptime consumed up to: will do fine
strptime gives:
date: 07/07/26
time: 17:53

下面是我不明白的地方
tm_ptr = ×truct;不明白什么意思,特别是timestruct这个结构不知道怎么回事。

|
同上
看manual手册即可
       The  strptime()  function is the converse function to strftime() and converts the character string pointed to by s
       to values which are stored in the tm structure pointed to by tm, using the format specified by format.  Here  for-
       mat  is  a character string that consists of field descriptors and text characters, reminiscent of scanf(3).  Each
       field descriptor consists of a % character followed by another character that specifies the  replacement  for  the
       field  descriptor.   All other characters in the format string must have a matching character in the input string,
       except for whitespace, which matches zero or more whitespace characters in the  input  string.   There  should  be
       whitespace or other alphanumeric characters between any two field descriptors.

将字符串转换成一个tm结构,并且存放起来
这个tm结构的地址由该函数的第三个参数指出

如果
tm_ptr = ×truct  则表示使用的是timestruct的空间
如果没有这句则表示使用的是 tm_ptr = localtime(&the_time);的空间
具体的说:localtime的函数实现中申请了一个static变量,也就是这个变量所用的空间

相关的请参考
struct tm结构体
localtime源码实现
这些都能google到的

|
在这里赋值的:
result = strptime(buf,”%a %d %b %Y, %R”, tm_ptr);
因为,前面已经有了
tm_ptr = ×truct
所以,给tm_ptr的内存内部赋值,和直接给×truct是一致的。
换句话说,把上一句改成:
result = strptime(buf,”%a %d %b %Y, %R”, ×truct);
也是可以的


|
tm_ptr 是一个 tm的指针变量,它需要接收一个地址!
& 操作符是用来取地址的, ×truct 就表示取timestruct 的地址.
所以tm_ptr = ×truct 就是将地址赋给tm_ptr了!

|

去掉这个时,打印的是tm_ptr原先存储的信息
  (void) time(&the_time);
  tm_ptr = localtime(&the_time); 
这里是tm_ptr第一次赋值的地方,去掉后打印的就是time()给出的当前的时间,而不是
Thu 26 July 2007, 17:53这个时间。

    
 
 

您可能感兴趣的文章:

  • 一个问题,有点不明白!!!
  • 关于终端的一些小问题,不明白。。。
  • 关于一个没说明白的问题
  • 关于字体的问题?实在是看不明白sun的api文档!!!!!!!!!!!!
  • 搞不明白的问题??
  • 新手问题:一个编译错误信息,没有明白意思。
  • 新手 有一个不明白的问题,先谢谢大家
  • linux 分区 储存问题,纠结,想不明白了(新手)
  • 一个简单的问题,你一看就明白!
  • 页面号的问题,实在没有想明白。
  • 奇怪的问题?实在不明白为什么??
  • 呵呵,小不点有个小问题不明白,大家帮帮忙好吗?
  • socket编程中一个还没想明白的问题!希望得到高手的帮助!
  • 关于字符串的问题还是没搞明白!please help me!
  • 最简单的一个malloc问题,想不明白中
  • 一个想不明白的问题,为什么在windows中可以ping 通域名,但在linux却不可以 ??
  • 绝对菜鸟问题:这是什么用法啊,看不太明白
  • 有个问题一直想不明白,是关于类的,很简单的
  • 谁现在学thinkinjava了,留个qq,,,好多问题我自己弄不明白///
  • help,anybody,nobody,help?能帮帮忙吗?有人明白吗?还是我发过帖子的那个问题:(
  • ▲▲▲坛子里我第一个提这方面的问题,想问大家关于仿真终端。
  • 坛子太冷清,我提个问题,多CPU的系统,到底是谁就处理了这多CPU?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下URL请求问题
  • 由于扩展配置问题而无法提供您请求的页面错误解决方法
  • 问个中文显示的问题,请求帮助
  • 请求帮助! 服务器问题
  • 请求curses显示乱码的问题
  • class文件的运行问题。向各位大侠请求帮助
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 重大问题,请求各位前辈指点
  • HTTP post请求传参数(大数据)问题
  • jbuilder的配置问题----初学者请求帮助
  • 读写问题,请求优秀的处理方案
  • jsp中 ajax的get请求的中文乱码问题的解决方法
  • 关于 put、Delete、Trace三个请求的问题
  • java servlet问题,其实这是一个HTML问题,请求帮助!
  • 关于RH Linux的引导程序问题(已重装了LinuxN 次了)---在线等,请求朋友们帮助
  • 请求linux yum的一个问题,请各位大虾帮帮忙
  • GCC安装出现问题,请求解答
  • unix socket编程的问题--服务器突然断掉,客户端如何察觉并发动请求重新连接
  • linux下3proxy的代理问题,请求帮助!!!
  • xp硬盘安装fedora11出现得问题请求指导
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3