对于字符串中的每个字符
如何在 C++ 中对字符串中的每个字符执行 for 循环?
How would I do a for loop on every character in string in C++?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在 C++ 中对字符串中的每个字符执行 for 循环?
How would I do a for loop on every character in string in C++?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
循环遍历
std::string 的字符
,使用基于范围的 for 循环(来自 C++11,最新版本的 GCC、clang 和 VC11 beta 已支持):循环 a 的字符
std::string
与迭代器:使用迭代器循环遍历
std::string
的字符老式的 for 循环:循环遍历以 null 结尾的字符数组的字符:< /p>
Looping through the characters of a
std::string
, using a range-based for loop (it's from C++11, already supported in recent releases of GCC, clang, and the VC11 beta):Looping through the characters of a
std::string
with iterators:Looping through the characters of a
std::string
with an old-fashioned for-loop:Looping through the characters of a null-terminated character array:
for 循环可以这样实现:
这将逐个字符地打印字符串。
str[i]
返回索引i
处的字符。如果是字符数组:
基本上以上两种是c++支持的两种类型的字符串。
第二个称为c string,第一个称为std string或(c ++ string)。我建议使用c ++ string,更容易处理。
A for loop can be implemented like this:
This will print the string character by character.
str[i]
returns character at indexi
.If it is a character array:
Basically above two are two type of strings supported by c++.
The second is called c string and the first is called std string or(c++ string).I would suggest use c++ string,much Easy to handle.
在现代 C++ 中:
在 C++98/03 中:
对于只读迭代,您可以在 C++98 中使用
std::string::const_iterator
,以及for (char const & ; c : s)
或 C++11 中的for (char c : s)
。In modern C++:
In C++98/03:
For read-only iteration, you can use
std::string::const_iterator
in C++98, andfor (char const & c : s)
or justfor (char c : s)
in C++11.这是另一种方法,使用标准算法。
Here is another way of doing it, using the standard algorithm.
我没有看到任何使用基于范围的 for 循环和“c string”的示例。
不相关,但 int 数组示例
I don't see any examples using a range based for loop with a "c string".
not related but int array example
字符串基本上是一个字符数组,因此您可以指定索引来获取字符。如果您不知道索引,那么您可以像上面的代码一样循环遍历它,但是当您进行比较时,请确保使用单引号(它指定一个字符)。
除此之外,上面的代码是不言自明的。
A String is basically an array of characters, therefore you can specify the index to get the character. If you don't know the index, then you can loop through it like the above code, but when you're making a comparison, make sure you use single quotes (which specifies a character).
Other than that, the above code is self explanatory.
对于 C 字符串 (
char []
),您应该执行以下操作:对于
std::string
,您可以使用str.size()
获取其大小并像示例一样进行迭代,或者可以使用迭代器:For C-string (
char []
) you should do something like this:For
std::string
you can usestr.size()
to get its size and iterate like the example , or could use an iterator:您可以使用 size() 方法来获取字符串的长度,并使用方括号运算符来访问每个单独的字符。
You can use the size() method to get the lenght of the string and the square bracket operator to access each individual character.
您可以使用字符串库的 at 函数获取字符串中的每个字符,就像我这样做一样,
这只是我的代码的一部分,但重点是您可以通过
stringname.at(index)< 访问字符/代码>
you can get every char in a string by using the at function of string library, like i did it like this
this is just a segment of my code but the point is you can access characters by
stringname.at(index)