问题
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