如何在C中的字符串中评估变量

时间:2013-11-25 20:21:02

标签: c

很抱歉提出一个基本问题,但我如何执行以下操作以使pid成为文件名的一部分,如下所示:

int pid;
int fOUT;enter code here
pid=getpid();
// TRYING TO EVALUATE HERE
char* filename=printf("hello-world-%i.txt", pid); # obviously wrong 
//char* filename="here.txt";
fOUT= open (filename, O_RDWR | O_CREAT | O_SYNC);

thx任何帮助

2 个答案:

答案 0 :(得分:3)

您可以使用snprintf并为此分配缓冲区:

#include <limits.h>

// ...

char filename[PATH_MAX];
snprintf(filename, sizeof(filename), "hello-world-%d.txt", pid);

关于PATH-MAXWhere is PATH_MAX defined in Linux?this link

答案 1 :(得分:2)

您正在寻找snprintf,或者可能更方便(但不太方便)asprintf