gpt4 book ai didi

将 int 连接到字符串或在 C 中转换

转载 作者:太空宇宙 更新时间:2023-11-04 06:27:46 24 4
gpt4 key购买 nike

我正在寻找 foo- 末尾的 6 位随机数,我已经尝试了几个小时但没有成功。只有错误信息

note: expected 'char *' but argument is of type 'int'

我尝试将 int 转换为 char,但它不喜欢,我的代码如下,

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

char* concat(char *s1, char *s2)
{
char *result = malloc(strlen(s1)+strlen(s2)+1);//+1 for the zero-terminator
//in real code you would check for errors in malloc here
strcpy(result, s1);
strcat(result, s2);
return result;
}

int main ()
{
srand(time(NULL));
int r = rand();

printf(concat("foo-", r));

return 0;
}

最佳答案

你可以这样做

printf("foo-%d", r);

char buffer[10];
sprintf(buffer, "%d", r);
char *c = concat("foo-", r);
printf("%s", c);
free(c);

这将使用您的功能。请阅读 sprintfprintf

的手册页

关于将 int 连接到字符串或在 C 中转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24464745/

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