我有一个将char指针作为参数的函数。我想手动创建参数的char指针。所以,我有类似的东西:
int a = 50;
char* command_args;
loop:
command_args = "0 0 0 %d", a; //this is the main area where I neeed help. To clarify
//I'm trying to have my character array be set to "0 0 0 a" where
//a is the variable holding an integer value
functionCall(command_args);
a += 5;
command_args = " "; //I guess this would reset the char pointer?
我实际上无法使用函数本身,因此我需要使用char指针执行此操作。
答案 0 :(得分:0)
您想使用sprintf()将变量打印到字符串中。它的作用类似于printf(),但第一个参数是指向一些已分配内存的指针(在堆栈上静态或通过malloc)。
char command_args[STATIC_BUFFER_SIZE];
sprintf(command_args, "0 0 0 %d", a);
您应该调整缓冲区大小以至少保存任何数据类型a的最大可能字符串表示形式。不要忘记考虑空终止符。