Ответы пользователя по тегу Алгоритмы
  • Существует ли универсальный алгоритм разбора УРЛа?

    @sitev_ru Автор вопроса
    sitev.ru - мой блог ...
    Набросал примерчик (отрывок из кода), меня на первых порах устроит, может кому пригодится:
    string path = "param1/param2/name1=value1&name2=value2";
    
    	pos = 0;
    	int posEnd = path.length();
    	int mode = 1;
    	int index = 1;
    	string name = "", value = "";
    
    	while (true) {
    		if (pos >= posEnd || path[pos] == '/' || path[pos] == '&') {
    			if (mode == 1) {
    				if (name != "") {
    					value = name;
    					name = "p" + to_string(index);
    					index++;
    					params.insert(name, value);
    					name = "";
    					value = "";
    				}
    			}
    			else {
    				params.insert(name, value);
    				name = "";
    				value = "";
    				mode = 1;
    			}
    			if (pos >= posEnd) break;
    		}
    		else if (path[pos] == '=') {
    			mode = 2;
    		}
    		else {
    			if (mode == 1) name += path[pos]; else value += path[pos];
    		}
    		pos++;
    	}
    Ответ написан
    Комментировать