这不是让我替换数组中的字符串,我也不知道为什么。

if (t1Array[n] == banArray[o])
{
   //t1Array[n] = "***";
   t1Array[n].replace(1, 2, 3, "***");
   banArrayCount[o] ++;
   t1filterfile << t1Array[n];
}

最佳答案

似乎您希望将字符串t1Array[n]的位置1开始的2个字符替换为3个星号。

如果是这样,那么呼叫将看起来像

t1Array[n].replace( 1, 2, 3, '*' );


该调用对应于以下成员函数声明

basic_string& replace(size_type pos, size_type n1, size_type n2, charT c);


或者您可以使用以下成员函数

basic_string& replace(size_type pos, size_type n1, const charT* s);


在这种情况下,呼叫将显示为

t1Array[n].replace( 1, 2, "***" );


考虑到位置从0开始。

08-25 08:11