如何替换数组元素

时间:2014-07-08 02:48:56

标签: c++

我需要有关如何使用新字符串替换数组值的帮助:

char cstring[MAX];
void remove(char * cstring)
{
std::string str (cstring);
str.erase (0,1);
std::cout << "New String: " << str << '\n';
}

如何将cstring的值替换为str

的值

2 个答案:

答案 0 :(得分:0)

if ( str.size() >= MAX )
    throw......

std::strcpy(cstring, str.c_str());

注意:如果您只删除字符,则不需要进行尺寸检查;但是它使你的代码更加健壮,包含它,因为你不太可能通过执行不同的字符串操作来引入错误,而不会意识到你现在确实需要进行检查。

NB。考虑让cstring成为std::string!然后所有这些问题都消失了。

答案 1 :(得分:0)

这是你想要做的吗?

void removeFirstCharacter()
{
    char* it = cstring;
    while (*it)
    {
        *it = *(it + 1);
        ++it;
    }
}

还是这个?

void removeFirstCharacter(char* stringToChange)
{
    char* it = stringToChange;
    while (*it)
    {
        *it = *(it + 1);
        ++it;
    }
}