让我们说我们需要删除角色' M'用C ++。
这里我在行字符串[j] = string [j + 1];
处得到一个execption当产生错误时,I和j的值都是4。
另请告诉我,如果我已正确传递字符串的值,我不确定该字符串是如何终止的。
这个问题似乎在之前得到了回答,但事实并非如此!因为,与他人的代码是不同的!!
#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
void func(char string[])
{
for (int i = 0; i < strlen(string); i++)
{
if (string[i] == 'M')
{
for (int j = i; j < strlen(string); j++)
{
string[j] = string[j + 1];
(this is where an exception being is generated)
}
}
}
cout << "string finally - " << string;
}
int main()
{
func("GoodMorning\0");
int buffer;
cin >> buffer;
return 0;
}
答案 0 :(得分:3)
您正在尝试修改字符串文字的内容。你不能这样做。
删除C字符串古物并使用std::string
;包括<string>
你几乎就在那里。