Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
确实是愚蠢的c ++问题,但我看不到我所需要的解决方案。我有一个const char *,我想从自己的char *中提取各种值。例如
在此先感谢一吨。我每天都是C ++开发人员,基本上是在C ++ 11和更高版本上成长的,因此处理字符指针对我来说有点奇怪。
请注意最后有空终止符,当您希望将
Demo.
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
确实是愚蠢的c ++问题,但我看不到我所需要的解决方案。我有一个const char *,我想从自己的char *中提取各种值。例如
const char* atr;
//
//Data is placed in atr
//
//Here's what I want to do, but obviously this doesn't compile
char* _ts = atr[0] + atr[1];
char* _t0 = atr[2] + atr[3];
在此先感谢一吨。我每天都是C ++开发人员,基本上是在C ++ 11和更高版本上成长的,因此处理字符指针对我来说有点奇怪。
最佳答案
与C ++不同,C不允许您重载运算符,而运算符是负责使用运算符std::string
进行+
串联的功能。因此,在C中,您将获得两个字符代码的总和,并将它们写入字符指针。那不是你想要的。
如果从中选择字符的位置数量是固定的,则可以使用初始化构造C字符串:
char _ts[] = { atr[0], atr[1], 0 };
char _t0[] = { atr[2], atr[3], 0 };
请注意最后有空终止符,当您希望将
_ts
和_t0
用作C字符串时,这是必需的。Demo.
09-27 04:40