我想将C字符串保存到C ++变量。这应该传递给C-API函数。
该字符串在C-API中定义为
#define XI_PRM_BINNING_HORIZONTAL_MODE "binning_horizontal_mode"
我想在交换机中选择字符串
char * binnMode;
...
binnMode = XI_PRM_BINNING_HORIZONTAL_MODE;
但这失败了因为C-literal被定义为char str[]
(C ++ 11)
我想将字符串传递给期望的函数
xiSetParamInt(IN HANDLE hDevice, const char* prm, const int val)
我如何定义binnMode
以使其工作?
请注意,参数是const char*
,而不是char*
。
这很方便,因为它也是binnMode
所需要的。
字符串文字是不可变的,并且(在C ++中)const
。你的是一个const char[<length+1>]
(不知道你在哪里听到它是一个char[]
),它很好地衰减到const char*
。