貌似//
表示URI的起始和隨後的/
標誌着路徑的開始:
char *uri_start; // Start of URI
int uri_length; // Length of URI
char *path_start; // Start of Path (until end of string)
uri_start = strstr(url, "//");
if (uri_start == NULL) {
uri_start = url;
} else {
uri_start += 2; // skip "//"
}
path_start = strstr(uri_start, "/");
if (path_start == NULL) {
path_start = ""; // Path empty
uri_length = strlen(uri_start);
} else {
path_start += 1; // skip "/"
uri_length = path_start - uri_start - 1;
}
編輯: 複製URI:
char uri[300]; // or char *uri = malloc(uri_length + 1);
memcpy(uri, uri_start, uri_length); // Copy the uri
uri[uri_length] = '\0'; // nul-terminate the uri string
或(如果沒關係,改變原始字符串):
uri_start[uri_length] = '\0'; // nul-terminates the uri but alters the url
我不知道什麼是URI,但它通過搜索整個字符串中的第一個「/」來工作嗎? –
我想過那個,但是如何識別路徑開始的其他斜槓,它不是按順序排列的? – Winston
你是否對Cocoa編碼?如果是這樣,請查看'NSURL'。 –