在C 中的字符串向量的字符串元素中循环遍历所有字符
Looping through all characters in a string element of a string vector in C++
说,例如,我有一个向量。向量包含i项目。说我想在向量的每个元素I中循环遍历所有位置J。我尝试使用嵌套循环以在以下代码中执行该过程。它试图将每个元素更改为所有ks,例如:
vector<string> strvec;
strvec.push_back("Dog");
strvec.push_back("Cat");
for (int i = 0; i < strvec.length; i++)
{
for (int j = 0; j < strvec[i].length; j++)
{
strvec[i][j] = 'k';
}
}
每当以这种方式使用循环时,上述代码甚至在嵌套循环中的代码之前(从嵌套环的开头开始)。有没有办法循环浏览有效且有效的字符串向量元素中的每个字符?
这是一种使用参考和基于范围的for
的方法。每当您必须从头开始迭代容器时,请先尝试基于范围的for
。它不像手动控制那样通用,但确实很难犯错。
for (string & str: strvec)
{
for (char & ch: str)
{
ch = 'k';
}
}
std::vector
具有size
功能,您可以用于迭代:
for (std::size_t i = 0; i < strvec.size(); i++)
{
for (std::size_t j = 0; j < strvec[i].size(); j++)
{
strvec[i][j] = 'k';
}
}
相关文章:
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 尝试将字符串/字符转换为整数会产生意外结果
- 为什么没有访问所有字符串字符?
- 将子字符串字符从字符串值转换为 int,然后将其分配给 int 变量
- 如何将字符串字符与结构数组进行比较?
- 将单个字符串/字符输入串行监视器
- 读取字符串字符时出错 - 对于数组中的字符串值
- C++ C 样式字符串/字符数组的大小 - 优化
- 读取字符串字符时出错
- C++ 使用 Strtok 读取字符串字符时出错
- 如何将 int 数组的 1 个元素转换为字符串/字符
- 在另一个字符串中逐个复制字符串字符
- 将字符串字符映射到矢量
- MBED RTOS将Float转换为字符串/字符阵列
- 如何使用字符串字符数组中的 ++ 运算符访问下一个字符串
- 如何比较C++中的单个字符串字符?
- 内部字符串/字符如何在 int 和 float 中存储
- 将十六进制转换为可打印的字符串/字符
- wcscpy_s后读取字符串字符时出错
- 检查字符串字符和长度