我有一個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])。並詢問你面臨的問題。 –