hi,欢迎访问本站!
当前位置: 首页学习笔记正文

C++:string实现查找网址的协议名和后缀

用户投稿 学习笔记 8阅读

用到string接口如下:

substr: 建立一个字串,存放字符。

find: 查找用到所示符号的位置。

代码如下:

#include <iostream>using namespace std;//获取协议名string GetProtocol(const string& url){size_t pos = url.find("://");if (pos != string::npos){return url.substr(0, pos - 0);}else{//返回空串return string();}}//获取后缀名string GetDomain(const string& url){size_t pos = url.find("://");if (pos != string::npos){size_t start = pos + 3; //加三是为了跳过://这三个字符size_t end = url.find("/", start);if (end != string::npos){return url.substr(start, end - start); //从start开始到end结束}else{return string();}}}int main(){string url1 = "https://www.baidu.com/?tn=49055317_13_hao_pg";string url2 = "https://www.nowcoder.com/exam/company";string url3 = "www.nowcoder.com/exam/company";cout << GetDomain(url1) << endl;cout << GetDomain(url2) << endl;cout << GetProtocol(url1) << endl;cout << GetProtocol(url2) << endl;cout << GetProtocol(url3) << endl;system("pause");return 0;}

标签:
声明:无特别说明,转载请标明本文来源!
发布评论
正文 取消