我正在尝试收集和存储项目的用户元数据,但我找不到存储字符串长度(字符数)的方法。
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应该真的有用。
答案 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();