很抱歉提出一个基本问题,但我如何执行以下操作以使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任何帮助
答案 0 :(得分:3)
您可以使用snprintf
并为此分配缓冲区:
#include <limits.h>
// ...
char filename[PATH_MAX];
snprintf(filename, sizeof(filename), "hello-world-%d.txt", pid);
关于PATH-MAX
:Where is PATH_MAX defined in Linux?和this link。
答案 1 :(得分:2)