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

时间:2012-12-15 21:48:44

标签: c++ char arrays

我目前的代码是:

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个字符是'说'并且它工作正常但我需要找出一种方法来删除'说'所以它只显示什么这个人想说得好。在我正在做的事情中要记住它必须是一个字符我不能在我所处的情况下使用字符串。如果有人可以帮我弄清楚如何做到这一点我将非常感谢。

2 个答案:

答案 0 :(得分:6)

只需打印message + 4

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

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

答案 1 :(得分:5)

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

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

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