基本上我試圖在char *數組中找到最後一個字符。 例如;我有這個字符串:C++查找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回報「之後」的位置cters「,但最後一個應該在Hehehe之後。
這個想法是返回由用戶請求指定的最後一個「字符」的位置,但它不起作用。
我想這個字符串中使用它:
"Welcome to Stackoverflow!\nWe seriously hope you have a \"great\" time."
它返回(代碼表示,「後大是最後一個,但你可以在給定的字符串中所看到的,它不是) :
"Welcome to Stackoverflow!\nWe seriously hope you have a \"great\"
試圖用它來搜索「
你是什麼意思,它返回''歡迎來到Stackoverflow!\ n我們真的希望你有一個\「偉大\」''?你正在返回一個'int',而不是'char *'或者'std :: string'。 – wolfPack88 2014-09-23 19:03:27
你沒有使用'std :: string'的任何特定原因? – Biffen 2014-09-23 19:03:35
也許你沒有正確地調用你的函數? – dasblinkenlight 2014-09-23 19:04:31