0

我目前的代码是:

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 个字符是“say”时打印,并且它工作正常但是我需要想办法让它删除“say”,所以它只显示这个人想要什么说得好。请记住我正在做的事情必须是一个字符,我不能在我所处的情况下使用字符串。如果有人可以帮助我弄清楚如何做到这一点,我将非常感激。

4

2 回答 2

6

只需打印message + 4

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

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

于 2012-12-15T21:50:34.687 回答
5

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

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

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

于 2012-12-15T21:51:29.743 回答