string text("asdffffffffff.f");
for (const auto &s : text){
cout << s ;
if(s.empty() || s[s.size()-1] == '.')
cout << endl;
else
cout << "" ;
}
return 0;
};
我的书没有说明应该是什么文字,所以我创建了字符串文本,但文本应该是什么类型? const string,const char,还有什么?
答案 0 :(得分:0)
在这种情况下,会扣除自动键入char,因此s
为const char&
。
要修复您的代码,您可以写:
for (const auto& s : text){
cout << s ;
if(s == '\0' || s == '.')
cout << endl;
else
cout << "" ;
}
'\0'
表示空char。你不必写一个函数。
'\0'
也充当字符串终止符,因此每个字符串和char *在末尾都包含一个'\0'
,为您自动附加。
empty()
和size()
是std::string
类的成员函数。
文字为std::string
,因此您可以使用text.empty()
或text.size()
.size()
返回字符串的总大小。
但是s
不是此处的数组(它是对char
的单一引用,而不是char*
),因此您无法使用{{1}只有一个operator []
。