2010-12-15 145 views
4

我有一個字符串,我想獲取,例如,字符串中最後一個(。)的位置,或者任何我想要檢查的字符,但是現在直到現在我只是得到一個headeach。C++獲取字符串中的最後一個字符

謝謝

+7

向我們展示你的代碼爲止。什麼有效,你需要什麼幫助? – abelenky 2010-12-15 22:53:44

+0

對不起,我遲到了,以回答您的意見,但我有一天所有的連接問題,多虧了所有的答案 – 2010-12-16 16:27:10

回答

8

find_last_of你需要什麼?

size_type find_last_of(const basic_string& str, size_type pos = npos) const; 

查找的最後一個字符等於在給定的字符序列的字符中的一個。搜索在pos完成,即在搜索中只考慮子串[0,pos]。如果npos作爲pos傳遞,則將搜索整個字符串。

+0

這不是一個答案,這是一個猜測。 – 2010-12-15 22:54:39

+10

對我來說這似乎很不錯。用這個問題猜測不了多少。 – 2010-12-15 23:03:22

+0

很好的鏈接,謝謝 – 2010-12-16 16:35:50

6

如果你的字符串是一個字符數組:

#include <cstdio> 
#include <cstring> 

int main(int argc, char** argv) 
{ 
char buf[32] = "my.little.example.string"; 
char* lastDot = strrchr(buf, '.'); 
printf("Position of last dot in string: %i", lastDot - buf); 
return 0; 
} 

..或爲std :: string:

#include <cstdio> 
#include <string> 

int main(int argc, char** argv) 
{ 
std::string str = "my.little.example.string"; 
printf("Position of last dot in string: %i", str.find_last_of('.')); 
return 0; 
} 
+1

''是非標準的。使用''。 ''也一樣。 – 2010-12-15 23:59:45

+0

謝謝,糾正。 – thbusch 2010-12-16 08:52:11

5
string lastN(string input) 
{ 
    return input.substr(input.size() - n); 
} 
+0

N從哪裏來? – karlphillip 2017-07-26 17:39:58

+0

這是不可接受的。 input.size()可能小於n。 – Pavel 2017-08-07 05:12:33

相關問題