为什么这不告诉我字符串的向量有多长?

时间:2014-11-09 09:28:51

标签: c++ vector

#include <iostream>
#include <vector>
using namespace std;

int main ()
{
    vector<string> SS;

    SS.push_back("The number is 10");
    cout << SS.size();

    return 0;
}

当我运行它时,输出为1.为什么不是字符串的长度?

5 个答案:

答案 0 :(得分:0)

它确实告诉你字符串的向量是多长。向量的长度表示tt中的项目数,在本例中为1

要获取向量中第一项的长度,请写cout << SS[0].size();

答案 1 :(得分:0)

您正在通过访问SS.size()来打印向量的大小。如果要获取字符串的大小,请使用SS[0].size()。然后你正在访问第一个元素,例如你的第一个推回的字符串。
如果要获取最后插入元素的长度,请使用SS[SS.size()-1].size()

答案 2 :(得分:0)

SS.size()

会给你插入向量中的元素数量。

要获得特定字符串的长度,您可以使用: -

SS[i].length();

答案 3 :(得分:0)

size()方法给出了向量的大小,例如它中的字符串数量(用它一个,因为你只按了1个字符串) 尝试使用SS.front()。length()来获取字符串长度

答案 4 :(得分:-1)

因为SS.size()会返回向量SS中的元素数量,因为您已在其中放入一个字符串,因此该值为1。

如果您想知道向量中字符串的长度,可以执行以下操作:

int length = strlen(SS[0])

SS[0]将返回您输入的位置0处的字符串。 Strlen将返回该字符串的长度。

修改:要使用strlen,您需要#include <string.h>