localtime
Tod
listacctc@gmail.com
Wed Jun 15 18:07:00 GMT 2011
On 06/15/2011 1:48 PM, Christopher Faylor wrote:
> On Wed, Jun 15, 2011 at 01:45:03PM -0400, Tod wrote:
>> On 06/15/2011 1:38 PM, Christopher Faylor wrote:
>>> On Wed, Jun 15, 2011 at 01:23:05PM -0400, Tod wrote:
>>>> On 06/15/2011 11:26 AM, Tod wrote:
>>>>> Hi,
>>>>>
>>>>> Has anything change in regards to the C localtime function since 2007?
>>>>> I've got a program with a function that uses it to present the date and
>>>>> time that I just changed. The time isn't appearing only the date.
>>>>>
>>>>> No errors, no dumps, just no time. Most bizarre.
>>>>>
>>>>>
>>>>> TIA - Tod
>>>>
>>>>
>>>> Incidentally, here's how I'm valuing the time. Worked with the 2007
>>>> version of cygwin1.dll (not that I'm blaming cygwin):
>>>>
>>>> char * getTime(char *tout)
>>>> {
>>>> time_t now;
>>>> struct tm tim;
>>>>
>>>> now = time(NULL);
>>>> tim = *(localtime(&now));
>>>> strftime(tout,strlen(tout),"%m/%d/%Y:%H:%M:%S",&tim);
>>>>
>>>> return(tout);
>>>> }
>>>>
>>>> tout is a 128 byte character array.
>>>
>>> If that's really what you're using then strlen(tout) seems obviously
>>> wrong. It should be 128.
>>
>> Won't strlen(tout) resolve to 128?
>
> No. It resolves to the length of the string, whatever that happens to
> be. If it was "abc", then strlen would == 3.
>
Ok, right - duh. Let me back up a couple of steps.
I'm passing a 128 byte char array. I allocated it to provide enough
room for the date/time stamp this function is returning. strlen(tout)
will resolve to the length of the tout string.
You said above that I shouldn't be using strlen(tout) and instead I
should be passing 128. Would I be better off using sizeof(tout) instead?
Also, the code has always worked. I just recompiled it recently. Now
the date works but the time isn't appearing. What could be causing that?
Thanks!
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list