当前位置: 技术问答>linux和unix
请教snprintf问题?
来源: 互联网 发布时间:2017-03-05
本文导语: #include #include int main() { char cmd[256] = "hello %dn"; snprintf(cmd, sizeof(cmd), cmd, 10); printf(cmd); return 0; } 这段代码 在Linux 下执行cmd一直是空。 在Windows下执行cmd是hello 10. 请问这是为什么呢,有什么问题吗? ...
#include
#include
int main()
{
char cmd[256] = "hello %dn";
snprintf(cmd, sizeof(cmd), cmd, 10);
printf(cmd);
return 0;
}
这段代码
在Linux 下执行cmd一直是空。
在Windows下执行cmd是hello 10.
请问这是为什么呢,有什么问题吗?
如果写法有问题,在Linux下我要怎么做呢?
#include
int main()
{
char cmd[256] = "hello %dn";
snprintf(cmd, sizeof(cmd), cmd, 10);
printf(cmd);
return 0;
}
这段代码
在Linux 下执行cmd一直是空。
在Windows下执行cmd是hello 10.
请问这是为什么呢,有什么问题吗?
如果写法有问题,在Linux下我要怎么做呢?
|
format当中的格式控制必须是string literal,不能是runtime string
|
unix下gcc编译没问题。
用什么编译器编译的?
int snprintf(char *str, size_t size, const char *format, ...);
以format的格式将字符串的size个字节复制到str中。格式化后字符串长度size时,只复制size-1个,并在最后加''。
用什么编译器编译的?
int snprintf(char *str, size_t size, const char *format, ...);
以format的格式将字符串的size个字节复制到str中。格式化后字符串长度size时,只复制size-1个,并在最后加''。