【发布时间】:2020-06-21 06:08:51
【问题描述】:
在 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"和#define obj2 "5"这样的宏。有了这个,你的第一种方法应该可以工作。 -
请提供minimal verifiable example 来说明问题。实际上,您的描述非常不清楚。您的代码中的任何地方都没有“双重”。该错误来自哪一行代码?
-
@Eraklon 它们被定义为在我的代码中用作变量的数字,因此将它们定义为字符会导致更多问题。
标签: c string double concatenation