如何从 char 数组中删除前 4 个字符

how to remove first 4 characters from a char array

本文关键字:字符 删除 char 数组      更新时间:2023-10-16

我当前的代码是:

char* message = new char[256];
    cin.getline(message, 256);
if(message[0] == 's' && message[1] == 'a' && message[2] == 'y' && message[3] == ' ')
{
    cout << message << endl;
}

我正在尝试设置它,以便它仅在前 4 个字符为"说"时才打印并且它工作正常,但是我需要找到一种方法来删除"说",这样它只显示这个人想说什么。请记住,对于我正在做的事情,它必须是一个字符,我不能在我所处的情况下使用字符串。如果有人能帮助我弄清楚如何做到这一点,我将不胜感激。

只需打印message + 4

cout << (message + 4) << endl;

然后重写它以使用 std::string。

这是 C 代码的C++版本:

std::string message;
cin >> message;
if ( message.substr(0,4) == "say " )
     cout << message.substr(4);

说真的,选择一个。不要再相信C是C++。如果你写C++,写C++。