基本上我试图在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;
答案 0 :(得分:1)
这是标记的c ++,所以不要使用char*
#include <string>
int findLastPos( std::string s, char c )
{
return s.rfind( string(1,c) );
}