如何在 C++ 中按索引 select 字符串中的特定字符?

How to select a specific character in string by index in C++?

我有一些字符串,假设:

"YGQST"

如何使用 C++ 循环此字符串,如下面的伪代码所示:

string A = "YGQST";
for(int i=0; i <A.length; i++)
{
    if(A[i] != Q)
    {
       cout << "A != Q";  
    }
} 

p.s.

在 C# 中很容易做到,因为您可以测量字符串的长度,但是在 C++ 中如何做到呢?

更新:

同样的解决方案是否适用于 C?

在 C++ 中我们有 std::string。真的没有太大区别。

string A = "YGQST";
for(int i=0; i <A.length(); ++i)
{
    if(A[i] != 'Q')
    {
       cout << "A != Q\n";  
    }
} 

编辑:这是在 C

中的操作方法
const char *A = "YGQST";
for(; *A; ++A)
{
    if(*A != 'Q')
    {
       printf("A != Q\n");  
    }
} 

你完全可以做到。 string 有一个 length 方法

string A = "YGQST";
for(int i=0; i < A.length(); ++i)
{
    if(A[i] != 'Q')
    {
       cout << "A != Q";  
    }
}

或者如果您使用的是 C++11,您可以通过以下方式获得相同的效果

string A = "YGQST";
for(auto const& letter : A)
{
    if(letter != 'Q')
    {
       cout << "A != Q";  
    }
}