如何在变量中存储字符串的大小

时间:2014-04-08 03:43:03

标签: c++ string

我正在尝试收集和存储项目的用户元数据,但我找不到存储字符串长度(字符数)的方法。

int main()
{
 string foo;
 int bar;
 size_t TryEverything;

 cout << "Enter some random text: ";
 getline(cin, foo);

 bar = foo.size(); //Does not work
 bar = foo.length(); //Does not work
 bar = TryEverything.size(); //Does not work
 bar = TryEverything.length(); //Does not work

}

我希望bar等于用户输入的字符数(包括空格)。有什么建议吗?

我目前正在使用visual studio 08,调试器会抛出此错误:

&#34; Expression:deque iterator not dereferencable。&#34;

编辑:

错误来自代码中的其他位置。 Foo应该真的有用。

2 个答案:

答案 0 :(得分:2)

试试这个,它对我有用:

#include<iostream>
#include<string>

using namespace std;

int main()
{
    string foo;
    size_t bar;

    cout << "Enter some random text: ";
    getline(cin, foo);

    bar = foo.size(); //Did work

    cout << bar;
}

答案 1 :(得分:1)

在您的代码中,TryEverything的类型为size_t,它没有size()length()等方法。

使用

size_t sz = foo.size();

size_t sz = foo.length();

直播:http://ideone.com/mHjvob