我有一个uint64
值,我想转换成一个字符串,因为它必须被插入作为HTTP POST请求的有效载荷。UINT64串用C
我已经尝试了很多解决方案(ltoa
,this解决方案),但我的问题仍然存在。
我的功能如下:
void check2(char* fingerprint, guint64 s_id) {
//stuff
char poststr[400] = "action=CheckFingerprint&sessionid=";
//convert s_id to, for example, char* myChar
strcat(poststr, myChar);
}
我想转换S_ID为char *。我已经试过:
1)char ses[8]; ltoa(s_id,ses,10)
但我有一个分割故障;
2)char *buf; sprintf(buf, "%" PRIu64, s_id);
我工作的一个API的,所以我已经看到,当打印此guint64
变量,它有以下形式:
JANUS_LOG(LOG_INFO, "Creating new session: %"SCNu64"\n", session_id);
问题是什么?为什么解决方案不起作用? – m13r
“转换”是什么意思?将该值转换为ASCII字符串? – Tom
'转换为'char *''是什么意思?你的意思是'char * cp =(char *)uint64_value;',还是你想将该数字转换为一个包含该值的十进制(十六进制,八进制?)数字的字符串? 'snprintf()'和'PRIu64'有什么问题?您应该尽力将其转换为MCVE([MCVE])。并询问你面临的问题。 –