删除字符末尾的不需要的字符

时间:2016-04-10 12:00:44

标签: c++

使用下面的代码,我不知道如何删除出现在消息数组末尾的不需要的字符。由于我的其余代码,我必须使用char,不能使用字符串。 recvbuf也是一个char * recvbuf = new char

                char* message=new char[140];
                for (int i=1; i<141; i++){
                    message[i-1]=recvbuf[i];
                }
                printf("Message: %s\n", message);
                delete[]recvbuf;

1 个答案:

答案 0 :(得分:0)

虽然建议您使用字符串来实现此代码,但可以通过在char数组的末尾手动添加空字符\0来解决此问题。 您可以将其介绍为:

    char* message=new char[141];
    for (int i=1; i<141; i++){
        message[i-1]=recvbuf[i];
    }
    message[140] = '\0'; //newly introduced line.
    printf("Message: %s\n", message);
    delete[]recvbuf;

注意1:在初始化期间,阵列的大小从140增加到141,以便为最后的\0字符腾出空间。

干杯!