在 C 语言中将变量插入给定"String"字符串中



我有一个函数,它有一个字符串参数:

function(char str[3]){
//here i want to insert the string Parameter str
f = open("/d1/d2/d3/test"+str+"/d2.xyz")
}

我正在尝试将String参数"插入"到给定的String路径中。如何在C中执行此操作?

典型的方法是通过将三部分拼接在一起来创建一个新字符串。一种方法是如下(无耻地从@chux评论中窃取(:

char buf[1000];
sprintf(buf, “/d1/d2/d3/test%s/d2.xyz”, str);

但在走这条路之前,您需要确保真正了解printf函数家族,因为它们是安全相关错误的常见来源。例如,我的buf大小对于您的示例来说足够大,但对于一般解决方案来说肯定不够。相反,需要考虑输入字符串的大小,以确保输出缓冲区足够大。

最新更新