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

时间:2015-01-07 12:40:09

标签: c++ string

我有一些字符串,让我们说:

"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?

2 个答案:

答案 0 :(得分:3)

你可以做到这一点。 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";  
    }
}

答案 1 :(得分:2)

在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");  
    }
}