gpt4 book ai didi

c - 函数返回 char[] 而不是 int

转载 作者:太空宇宙 更新时间:2023-11-04 00:30:13 25 4
gpt4 key购买 nike

我的 C 函数需要一些帮助。我正在尝试获取当前的 CPU 时间并将其作为 char[] 返回以供以后使用。我遇到的问题是我的指针/取消引用不在正确的位置,并且我收到编译器警告/错误。我需要进行哪些更改才能使其正常工作?

功能:

char *get_time()
{
char time_char[10];
time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
int time = timeinfo->tm_yday*1000000 + timeinfo->tm_hour*10000 + timeinfo->tm_min*100 + timeinfo->tm_sec;

sprintf(time_char, "%d", time);
return *time_char;
}

调用函数 char time_char[] = get_time();

在我将代码移动到一个函数并按我需要的方式工作之前,我所拥有的是:

char time_char[10];
time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
int time = timeinfo->tm_yday*1000000 + timeinfo->tm_hour*10000 + timeinfo->tm_min*100 + timeinfo->tm_sec;

sprintf(time_char, "%d", time);

然后我根据需要使用 time_char

最佳答案

数组在函数的调用框架中分配,并在函数返回时释放。

你要么需要通过指针传入数组(如 keltar 注释),在这种情况下你不需要返回任何东西,函数可以标记为 void,或者分配内存使用 malloc 并返回指针。

关于c - 函数返回 char[] 而不是 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22487683/

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