⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10d2.cpp

📁 C++ interview materials. Very helpful for interview. Including Answer.
💻 CPP
字号:
/*
NIIT 《C++ & CGI PROGRAMMING &SCRRIPTING》 Skill Base
教材P10.14	10.D.2
审核:周永 Laozhou@swpi.edu.cn	0:00 2004-10-19
测试环境:Microsoft Windowsn 2000(VC++);Red Hat Linux 7.3;Red Hat Linux 9.0
*/

#include <iostream>
#include <string>
using namespace std;

void replaceAll(string &src, const string &findstr, const string &replstr) 
{
    int found = src.find(findstr);
    while(found != string::npos) 
    {
       src.replace(found, findstr.length(), replstr);
       found = src.find(findstr);
    }
}

void urldecode(string &s)
{
   replaceAll(s, "%2C", ","); 
   replaceAll(s, "%0D%0A", "\n"); 
   replaceAll(s, "+", " ");    
}

void split(const string &s, char *delim, string dest[]) 
{
    string temp = s;
    int count = 0;
    char *p;
    p = strtok( (char *)temp.c_str() , delim);
    //在Linux9.0下,需要用上面一行代码。VC++可以改写为下面一行:
    //p = strtok(temp.begin(), delim);
    while(p != NULL)
    {
       dest[count] = p;
    	 count++;
       p = strtok(0, delim);
    }

    for(int i=0;i != count;i++)
    dest[i].erase(0,dest[i].find("=") + 1);
}

int main()
{
  string s="N1=Jane+Marple&N2=St.+Mary+Mead%2C%0D%0AMuch+Benham";
  urldecode(s);
  string dest[2];
  split(s, "&", dest);
  cout << "N1 has the value : " << dest[0] << endl;
  cout << "N2 has the value : " << dest[1] << endl;
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -