我正在使用OpenCV,我需要將Iplimage-> ID轉換爲char [],以便我可以使用TCP發送它,然後將其重新轉換爲服務器上的int。C中的奇怪int輸出
這裏是IplImage結構標頭:
typedef struct _IplImage
{
int nSize;
int ID; //<--- ID of type INT
int nChannels;
int alphaChannel;
int depth;
char colorModel[4];
char channelSeq[4];
int dataOrder;
int origin;
int align;
int width;
int height;
struct _IplROI *roi;
struct _IplImage *maskROI;
void *imageId;
struct _IplTileInfo *tileInfo;
int imageSize;
char *imageData;
int widthStep;
int BorderMode[4];
int BorderConst[4];
char *imageDataOrigin;
}
IplImage;
這是我的代碼:
char IDbuffer[10];
snprintf(IDbuffer,10,"%e",frame->ID);//where frame is of type IplImage*
printf("frame->ID= %a\n",IDbuffer);
,這是我得到的印刷:
幀 - > ID = 0x0.0000000037d0cp -1022
甚至試圖
printf("frame->ID= %a\n",frame->ID);
給我相同的輸出。
這是一個整數格式嗎?如果是的話我怎麼能將這種格式的char *轉換爲int?
在此先感謝。
如何使用正確的格式說明符?對於'%d'的int。要打印一個字符串,使用'%s'。 – Jens
請在發佈之前閱讀您的手冊頁。 –