打印C ++字符串数组的第一个字母

时间:2014-10-30 03:47:53

标签: c++ arrays

Hey Guys我是c +的新手,想知道如何打印出我阵列的第一个字母。看看下面:

string arr[] = { "Ron", "Red", "Frun" };

for each (string var in arr)
{
    if (var.front == "R")
    {
        cout << var << endl;
    }
}

我想在数组中打印出以字母R开头的字符串,如Red和Ron

2 个答案:

答案 0 :(得分:4)

您可以使用带括号的索引来拉出字符串中任何给定索引处的字符。所以,对于你的字符串var:

if (var[0] == 'R')
{
    std::cout << var << std::endl;
}

或者,您可以使用front()函数,如下所示:

if (var.front() == 'R')
{
    std::cout << var << std::endl;
}

请注意,当您将第一个字符与“R”进行比较时,您也会犯一个错误 - 双引号表示字符串文字,而不是字符,而indexing和front()都返回一个字符。其次,你编写它的代码,我修改它,只检查大写R,所以“red”或“ron”将不会执行任何代码。

答案 1 :(得分:3)

for( auto s : arr )
{
   char x = s.front();
   if( x =='R' ||  x== 'r' )
   {
       std::cout << s << '\n';
   }
}