我需要有关如何使用新字符串替换数组值的帮助:
char cstring[MAX];
void remove(char * cstring)
{
std::string str (cstring);
str.erase (0,1);
std::cout << "New String: " << str << '\n';
}
如何将cstring
的值替换为str
?
答案 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;
}
}