gpt4 book ai didi

c++ - 如何搜索和打印字符串中的特定部分?

转载 作者:行者123 更新时间:2023-11-30 00:39:38 34 4
gpt4 key购买 nike

我主要是从 C++ 库中寻找一个标准函数,它可以帮助我在字符串中搜索一个字符,然后从找到的字符开始打印出字符串的其余部分。我有以下场景:

#include <string>

using std::string;

int main()
{
string myFilePath = "SampleFolder/SampleFile";

// 1. Search inside the string for the '/' character.
// 2. Then print everything after that character till the end of the string.
// The Objective is: Print the file name. (i.e. SampleFile).

return 0;
}

在此先感谢您的帮助。如果您能帮助我完成代码,我将不胜感激。

最佳答案

您可以从最后一个 / 开始的字符串中提取一个子字符串,但为了最有效(即避免对要打印的数据进行不必要的复制),您可以使用 string::rfind 以及 ostream::write:

string myFilePath = "SampleFolder/SampleFile";

size_t slashpos = myFilePath.rfind('/');

if (slashpos != string::npos) // make sure we found a '/'
cout.write(myFilePath.data() + slashpos + 1, myFilePath.length() - slashpos);
else
cout << myFilePath;

如果您需要提取文件名并在以后使用它而不是立即打印它,那么 bert-jan'sxavier's答案会很好。

关于c++ - 如何搜索和打印字符串中的特定部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277581/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com