我试图从字符数组中切出最后四个字符,我尝试了 Python 使用的方法但没有成功;
char *charone = (char*)("I need the last four")
char *chartwo = charone[-4:]
cout << chartwo << endl;
我希望这段代码返回:
four
但是C/C++好像没那么容易...
我在哪里可以找到将一个字符数组的最后四个字符返回到另一个字符数组的简单替代方法?
最佳答案
尝试:
int len = strlen(charone);
char *chartwo = charone + (len < 4 ? 0 : len - 4);
在 C++ 中,您可以将其替换为:
char* chartwo = charone + (std::max)(strlen(charone), 4) - 4;
该代码使用了 C 字符串的一个特殊属性,该属性仅适用于截断字符串的开头。
关于c++ - C++中的字符串切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5048374/