我正在尝试编写一个将std::string
包含 URL 的 C++ 函数拆分为其组件。我需要将组件复制到这个结构中:
typedef struct urlstruct {
string protocol;
string address;
string port;
string page;
} urlstruct;
这是到目前为止的功能:
int parseAnnounce2(string announce, urlstruct *urlinfo){
int i;
if(announce.find("://") != string::npos){
// "://" found in string, store protocol
for(i = 0; i < announce.find("://"); i++){
}
} else {
// No "://" found in string
}
return 0;
}
我需要将 '://' 序列之前的字符复制到 urlinfo->protocol 字符串中。这样做的好方法是什么?
我知道我无法使用以下代码行分配它,因为协议字符串尚未初始化为包含该内存。
urlinfo->protocol[i] = announce[i];