好的,所以我想查看数组的值array1
是否为空,如果是,则不应该将其放入array2
。我该怎么做?
for (int i =0; i < 70549; i ++)
{
std::size_t found = array1[i].find(result[1]);
if (found!=std::string::npos)
array2[i] = array1[i];
}
cout
答案 0 :(得分:0)
听起来像你想要的std::copy_if
。我不确定你想要什么样的条件。在英语中,您描述了C ++函数.empty()
,但您的C ++代码实现了一个测试“string包含子串result[1]
”。 std::copy_if
可以同时使用。
答案 1 :(得分:-1)
看起来你想要字符串的empty()
方法。您可以像这样扩展您的条件:
if (!array1[i].empty() && found != std::string::npos)
array2[i] = array1[i];
显然,array2
中的值将保持不变(可能是空白),但array1
值未被复制。如果那不是您想要的,那么您需要保留第二个循环计数器,它将索引array2
。每次实际复制值时,它都会递增。