говорят, что я передаю аргумент www.bbc.co.uk/news/world-us-canada-11893886
Мне нужно отделить www.bbc.co.uk от / news / world-us-canada-11893886 для HTTP GET
Я пытался использовать strtok и strcat, но я сталкиваюсь со странными сплитами во время выполнения.
Я могу получить www.bbc.co.uk просто отлично, используя strtok (host, "/");
Я попытался использовать комбинацию strtok и strcat, чтобы попытаться получить всю оставшуюся строку из первого "/", но я получаю вывод, подобный этому ...
Запрос: da-11893886
tempString: новости / мир!
хост: www.bbc.co.uk
Путь: новости / мир! Da-11893886
Если вы посмотрите на этот вывод, самое странное в том, что он всегда вырезает среднюю часть.
В этом случае "-us-cana"
раздел кода прилагается ниже
// testing purposes
printf("argv[1]: %s\n", argv[1] );
host = malloc(sizeof(argv[1]));
strcpy(host, argv[1]);
host = strtok(host, "/");
// get the request
request = malloc(sizeof(argv[1]) + sizeof(char)*6);
char *tok, *tempString;
tempString = malloc(sizeof(argv[1]));
tok = strtok( NULL, "\0");
while( tok ) {
strcpy(tempString, tok);
printf("request: %s\n", request);
request = strcat(tempString, request);
tok = strtok(NULL, "\0");
}
printf("host: %s\n", host);
printf("Path: %s\n", request);
Спасибо за просмотр.
Любое направление или даже ссылка на сайт, где я могу выяснить, как это сделать, будет высоко ценится.