gpt4 book ai didi

c - 这段代码是如何工作的

转载 作者:行者123 更新时间:2023-11-30 17:36:15 25 4
gpt4 key购买 nike

char *My_Time(FILE *prnt) 
{
time_t raw_Time = time(0);
struct tm *info;
char myt_Time[80];

info = localtime(&raw_Time);
return asctime(info);// Returns the time i want
}

int Crte_acclg (FILE *crte_Fp1)
{
char *my_Currtime;
my_Currtime = My_Time(crte_Fp1); // succesfully stores the time i want without having a array of chars?
fprintf(crte_Fp1,"File Created: %s",my_Currtime);
return 1;
}

因此,在上面的代码中,我要求 time 返回当前时间,并将其存储在 char * 中。我的问题是这行代码是如何工作的,因为我正在取回一串字符,所以为什么当我指向一个字符位置时它能够给我完整的字符串?

最佳答案

字符串有很多种类型,标准的C字符串是哨兵值为0的序列。

返回的char*指向该序列,相当于指向其第一个元素。

asctime() 可以安全地返回这个指针,因为它使用了一个足够大的内部静态缓冲区,并且你通过使用它 promise 永远不会同时使用它,也不依赖于返回值调用另一个标准函数后允许使用此缓冲区。

旁白:最好采用标准 C99 with Technical corrigenda TC1, TC2, and TC3 included (链接从维基百科复制)。

关于c - 这段代码是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com