我一直在试图找到string
的长度,它的数组有char
s,用strlen()
函数,但它不起作用。 我使用的代码是这样的:用strlen查找字符串数组的长度()
string s[]={"a","b","c"};
int len = strlen(s.c_str());
它产生以下错误:
"request for member âc_strâ in âwArrayâ, which is of non-class type"
但是,当我使用上string
年代以前像这样的这种strlen()
功能,它工作得很好:
fin.open("input.txt");
string tempStr;
getline(fin, tempStr,'\n');
int len = strlen(tempStr.c_str());
我在这里失踪了什么?我知道我能找到的string s[]
长度与
int size = sizeof(s)/sizeof(s[ 0 ]);
但是,为什么我不能使用strlen()
。有人可以解释发生了什么吗?
's'是一个数组,它没有'c_str'功能。是std :: vector一个选项? – billz 2013-02-17 08:25:59
您错过了'std :: string'不是'std :: string []'的事实。 – 2013-02-17 08:27:45
@Billz 但它适用于char类型的数组...... .... ???????????/ – DeadCoder 2013-02-17 08:29:29