C ++查找char数组中的最后一个char

时间:2014-09-23 18:59:38

标签: c++ string char find

基本上我试图在char *数组中找到最后一个char。 例如;我有这个字符串:

"This is a long string with many other \"characters\". Hehehe"

我试着用这个:

int findLast (const char* buffer, int pos, char character, int size)
{
    int last = 0;

    for (int i = pos; i < size; i++)
    {
        if (buffer[i] == character)
            last = i;
        if (buffer[i] == '\n')
            return last;
    }

    return last;
}

像这样:

int lastCharPos = findLast ( charArray, ftell(file), '"', charSize );

在charArray中我们有:

"This is a long string with many other \"characters\". Hehehe"

findLastChar返回&#34;的pos在&#34;字符&#34;之后,但最后一个应该在Hehehe之后。

这个想法是返回最后一个&#34; char&#34;的位置。由用户请求指定,但它不起作用。

我试图将它与此字符串一起使用:

"Welcome to Stackoverflow!\nWe seriously hope you have a \"great\" time."

它返回(代码表示&#34;伟大的是最后一个,但正如你在给定字符串中看到的那样,它不是):

"Welcome to Stackoverflow!\nWe seriously hope you have a \"great\"

尝试使用它来搜索&#34;

1 个答案:

答案 0 :(得分:1)

这是标记的c ++,所以不要使用char*

#include <string>

int findLastPos( std::string s, char c )
{
     return s.rfind( string(1,c) );
}