【问题标题】:How to take string length of a String array?如何获取字符串数组的字符串长度?
【发布时间】:2011-05-13 18:39:45
【问题描述】:

我已经声明了一个字符串数组String s;

我尝试通过给出 strlen(s) 来查找字符串的长度,但它不起作用。如何获取字符串的长度?

【问题讨论】:

  • 显示声明,只是为了清楚
  • 字符串(大写的 S)不是 C++ 标准中指定的类。如果你不说你正在使用哪个库,没有人可以确定它提供了哪些函数来告诉你长度。尽管如此,常见的选项还是数据成员,例如 s.length()、s.size()。您可以查看包含的标题以访问该类,并查看它提供了哪些功能。

标签: c++ string string-length


【解决方案1】:

函数 strlen 不接受字符串,而是一个字符数组。有关示例,请参阅this reference。如果您使用的是字符串类型,您将使用函数length() 找到它的长度,如下所示:

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

更多示例请参见this other question

【讨论】:

    【解决方案2】:

    使用成员函数length()。

    【讨论】:

      【解决方案3】:
      string s;
      

      声明一个名为sstring,而不是一个字符串数组,这将是

      string array[10];
      

      例如。要获取字符串的长度,可以调用它的size()length() 方法:

      size_t len = s.size();
      

      【讨论】:

      • 不要忘记 std 命名空间。
      • 当然。以上假设您添加了 using std::string;在文件的前面。 :)
      • 我不认为这是一个安全的组合,OP 使用的字符串甚至不是正确的名称 :)
      【解决方案4】:

      我见过的许多方法采用const char *(也可能是他所指的“字符串”)将循环遍历变量,直到遇到NULL \0 字符。

      这通常是“字符串数组”的结束方式,通常是计算字符串长度的好方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多