2010-11-22 166 views
1

我已經聲明瞭一個字符串數組String s;如何獲取字符串數組的字符串長度?

我試圖通過給strlen(s)找到字符串的長度,但它沒有工作。如何獲取字符串的長度?

+1

顯示聲明,只是要清楚 – 2010-11-22 10:53:34

+0

字符串(大寫字母S)不是C++標準中指定的類。如果你沒有說你正在使用哪個庫,那麼沒有人可以肯定地說明它提供了什麼函數來告訴你這個長度。儘管如此,常用的選項是數據成員,如s.length(),s.size()。你可以看看你包含的頭部以訪問該類,並查看它提供的功能。 – 2010-11-22 12:32:54

回答

2

的strlen函數並不需要一個字符串,但字符數組。示例請參閱this reference。如果您使用的是字符串類型,你會發現它的長度,通過使用功能length(),就像這樣:

std::string text = "Some text"; 
int length = text.length(); 

更多的例子見this other question

1

使用成員函數length()。

1
string s; 

聲明瞭一個名爲strings,而不是一個字符串數組,這將是

string array[10]; 

例如。爲了得到一個字符串的長度,你可以調用它的size()length()方法:

size_t len = s.size(); 
+0

不要忘記* std *命名空間。 – Simone 2010-11-22 10:57:59

+0

當然。上面假設你添加了一個使用std :: string;在文件中的更早。 :) – dandan78 2010-11-22 10:59:13

+3

我不認爲這是一個安全的功能,OP使用的字符串甚至不是正確的名稱:) – Simone 2010-11-22 11:06:52

0

我看過的很多方法都採用const char *(它也可能是他所指的'字符串')將遍歷變量,直到它們遇到NULL \0字符。

這通常是'字符串數組'的結束方式,通常是計算字符串長度的好辦法。