2012-02-26 35 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

相关问题