C++结尾括号用-代替.)[关闭]

u91tlkcl  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(101)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

5天前关闭。
Improve this question
在试图为我遇到的一个问题寻求帮助时,我看到有人使用这样的代码来搜索一个字符串。我似乎无法找到2个line.find()运算符之间的减号是什么意思的答案。它是点a到点b,还是减法?

minutes = line.substr(line.find(" ") + 1, line.find("h") - line.find(" ") - 1);

字符串

rmbxnbpk

rmbxnbpk1#

假设line是一个std::stringstd::string::find返回可以找到所提供的子字符串的索引。

line.find(" ") + 1

字符串
这将返回紧接在line中可以找到" "的索引之后的索引。

line.find("h") - line.find(" ") - 1


这是对可以找到"h"" "的索引进行数学运算。
如果line" hello world! ",则line.find(" ")返回0line.find("h")返回2。因此,我们得到line.substr(0 + 1, 2 - 0 - 1)line.substr(1, 1)std::string::substr采用开始位置和要包含的字符数。
| | | L| L| O||W| O| R| L| D|| d ||
| --|--|--|--|--|--|--|--|--|--|--|--|--|--|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
获取从索引1开始的长度为1的子字符串将产生" "

相关问题