zoj 1243 URLs

本文介绍了一个简单的网址解析器程序,该程序能够将输入的网址按协议、主机名、端口及路径进行拆分,并打印出各个部分的具体内容。适用于学习字符串处理和网址结构的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/* 字符串处理 按格式分解网址 水题 */ #define LOCAL #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> #include<iomanip> #include<string> #include<algorithm> #include<ctime> #include<stack> #include<queue> #include<vector> using namespace std; int main() { #ifdef LOCAL freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif int ncase,cases=1,len,i;string str; cin>>ncase; while(ncase--) { cin>>str;len=str.size(); cout<<"URL #"<<cases++<<endl; cout<<"Protocol = "; switch(str[0]) { case 'f':cout<<"ftp"<<endl;;break; case 'h':cout<<"http"<<endl;break; case 'g':cout<<"gopher"<<endl;break; } i=0;while(str[i]!=':') i++; i+=3; cout<<"Host = "; while(i<len&&(str[i]!=':'&&str[i]!='/')) cout<<str[i++]; cout<<endl;cout<<"Port = "; if(i<len&&str[i]==':') { i++; while(i<len&&str[i]!='/') cout<<str[i++]; cout<<endl; } else cout<<"<default>"<<endl; cout<<"Path = "; if(i<len) { i++; while(i<len) cout<<str[i++]; cout<<endl; } else cout<<"<default>"<<endl; cout<<endl; } return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值