gpt4 book ai didi

c - C 中奇怪的 int 输出

转载 作者:行者123 更新时间:2023-12-04 06:29:46 24 4
gpt4 key购买 nike

我正在使用 OpenCV,我需要将 Iplimage->ID 转换为 char[ ],以便我可以使用 TCP 发送它,然后在服务器上将其重新转换为 int。

这是 Iplimage header :

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);

这是我打印的内容:

frame->ID= 0x0.0000000037d0cp-1022

甚至尝试

printf("frame->ID= %a\n",frame->ID);

给我同样的输出。

这是整数格式吗??如果是,我如何将这种格式的 char * 转换为 int??

提前致谢。

最佳答案

使用 %d 格式说明符,因为 frame->ID 是一个整数:

snprintf(IDbuffer,10,"%d",frame->ID);

然后使用%s 格式说明符打印缓冲区:

printf("frame->ID= %s\n",IDbuffer);

printf 中有关于格式说明符的更多信息手册页。

关于c - C 中奇怪的 int 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14180903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com