将#define中的double与C中的字符串连接起来
Concatenate double from #define with string in C
在 C 中,我试图让输出文件名包含 2 个变量以便于识别。这些是通过 #define obj1 100
和 #define obj2 5
早期启动的,当涉及到输出时,我希望文件名类似于 100_5_outputOfCode.txt
.
为了让它工作,我尝试了
char fileName[1024];
strcpy(fileName, obj1);
strcat(fileName, "_");
strcat(fileName, obj2);
strcat(fileName, "_");
strcat(fileName, "outputOfCode.txt");
然后在输出函数中使用fileName
(正常工作)。相反,我收到一条错误消息 ror: passing 'double' to parameter of incompatible type 'const char *'
.
从这里开始,我尝试通过 printf(obj1, %f)
将 obj1
和 obj2
转换为字符,但这没有效果。
如何实现将这些对象连接成字符串的目标?我对 C 知之甚少,如果其中一些不清楚,请见谅。
#define obj1 100
给你一个 整数, 你将不能直接与 strcat
一起使用。如果您想那样做,则必须使用 string:
#define obj1 "100"
但是,您可以保留现有的代码,只需用更简单的代码替换该代码即可:
char fileName[1024];
sprintf(fileName, "%d_%d_outputOfCode.txt", obj1, obj2);
在 C 中,我试图让输出文件名包含 2 个变量以便于识别。这些是通过 #define obj1 100
和 #define obj2 5
早期启动的,当涉及到输出时,我希望文件名类似于 100_5_outputOfCode.txt
.
为了让它工作,我尝试了
char fileName[1024];
strcpy(fileName, obj1);
strcat(fileName, "_");
strcat(fileName, obj2);
strcat(fileName, "_");
strcat(fileName, "outputOfCode.txt");
然后在输出函数中使用fileName
(正常工作)。相反,我收到一条错误消息 ror: passing 'double' to parameter of incompatible type 'const char *'
.
从这里开始,我尝试通过 printf(obj1, %f)
将 obj1
和 obj2
转换为字符,但这没有效果。
如何实现将这些对象连接成字符串的目标?我对 C 知之甚少,如果其中一些不清楚,请见谅。
#define obj1 100
给你一个 整数, 你将不能直接与 strcat
一起使用。如果您想那样做,则必须使用 string:
#define obj1 "100"
但是,您可以保留现有的代码,只需用更简单的代码替换该代码即可:
char fileName[1024];
sprintf(fileName, "%d_%d_outputOfCode.txt", obj1, obj2);