#include <iostream>
using namespace std;
int main()
{
char buffer[8];
int field=534;
memcpy(buffer,&field,sizeof(field));
cout<<buffer<<endl;
return 0;
}
這將返回一個空緩衝區。爲什麼?Memcpy int到字符緩衝區 - 作爲sprintf的替代品
基本上尋找替代sprintf將int轉換爲char緩衝區。
Itoa不可用。
想法?更好的選擇?
嘗試使用此方法打印1212752128。如果這不起作用,那麼你是小端,所以嘗試2181448.(如果他們都沒有工作,那麼你是64位...) – TonyK 2010-09-16 09:51:28
爲什麼itoa不可用? – 2010-09-16 10:09:03
在'C'中,我會使'buffer'成爲一個'unsigned char'的數組。 – pmg 2010-09-16 10:10:16