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

Why does this not tell me how long the vector of strings is?

本文关键字:向量 字符串 告诉我 为什么      更新时间:2023-10-16
#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。为什么不是字符串的长度?

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

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

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

SS.size()

将为您提供在矢量中插入的元素数量。

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

SS[i].length();
size

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

因为SS.size()返回向量SS中的元素数,即 1,因为您在其中放置了一个字符串。

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

int length = strlen(SS[0])

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

编辑:要使用您需要#include <string.h> strlen