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

Ian*_*erg 0 c++ arrays char

我目前的代码是:

char* message = new char[256];

    cin.getline(message, 256);
if(message[0] == 's' && message[1] == 'a' && message[2] == 'y' && message[3] == ' ')
{
    cout << message << endl;
}
Run Code Online (Sandbox Code Playgroud)

我试图让它设置所以它只会打印如果前4个字符是'说'并且它工作正常但我需要找到一种方法来删除'说'所以它只显示该人想要的好好说.在我正在做的事情中要记住它必须是一个字符我不能在我所处的情况下使用字符串.如果有人可以帮我弄清楚如何做到这一点我将非常感谢.

Sto*_*ica 6

只需打印 message + 4

cout << (message + 4) << endl;
Run Code Online (Sandbox Code Playgroud)

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


Luc*_*ore 5

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

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

说真的,选一个.不要相信C是C++.如果您正在编写C++,请编写C++.