What does the “p” in strptime stand for?

北城余情 提交于 2019-11-29 10:53:49

问题


There is a strptime function in many language libraries (C, Python, Ruby, PHP, PERL, etc.).

It seems to be based on the Open Group's specification for time.h.

I understand 'str' stands for string, and 'time' obviously stands for time, but what does the 'p' stand for? Parse? Pointer? Print?

Every time I reach for the strptime() function, I have a mental blank, and have to look up the name in a manual. I figure if I finally worked out what it stood for, perhaps I would have a chance of remembering it.


回答1:


p = pointer. It returns a pointer to a char.

BTW According to my K&R there is a

char *strpbrk(cs,ct);

This 'p' also refers to the returned pointer.




回答2:


I guess it stands for "parse" because its reverse function is called strftime in Python's time module wherein the "f" I can reasonably guess stands for "format".




回答3:


I have same problem and I'm going with put:

strftime -> 'string from time'
strptime -> 'string, put time'



回答4:


I think of strftime() as string from time. And the function strptime() is, probably, derived from string parsed time.




回答5:


Most of the places, I found

strftime() -> string format time &
strptime() -> string parsed time




回答6:


It helps me to remember:

  • p for produce, str p time -> string produce time
  • f for format, str f time -> string format time


来源:https://stackoverflow.com/questions/12255932/what-does-the-p-in-strptime-stand-for

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!