2012-02-26 68 views
0

如何查找也包含字符串終止字符的字符串的長度。例如:ABC \ 0ABC。是否有任何內置函數返回長度?如何查找也包含字符串終止字符的字符串的長度。示例:ABC 0ABC

如果輸入字符串是:ABC \ 0ABC 輸出:8

+1

串什麼類型的? c-string(null terminated char *),std :: string? – Lalaland 2012-02-26 05:53:31

+1

你在存儲這個值的變量是什麼類型?一個'std :: string'或者一個'char *'?答案將取決於此。 – 2012-02-26 05:53:40

+0

我將這個字符串存儲在char *中。但是,如果你能通過考慮兩種方式來拋出一些光明,我將不勝感激。謝謝 – Jatin 2012-02-26 05:55:22

回答

6

由於C風格字符串的結尾是唯一能檢測到,因爲它在'\0'字符結尾,你要問是不是可解以一般方式。如果像你的榜樣,你知道有一個準確字符'\0'字符串中,那麼你可以簡單地做:

x = strlen(string);    // length of string before the first '\0' 
x += strlen(string + x + 1) + 1; // plus the length of the string after 
           // the first '\0' plus the '\0' itself. 
+0

第二個strlen是不是strlen(string + x +1)? – Lalaland 2012-02-26 05:59:21

+0

是的,它應該。固定! – 2012-02-26 06:00:16

+0

如果我不知道我的字符串中出現'\ 0'的次數,該怎麼辦? – Jatin 2012-02-26 06:07:03

相關問題