相对路径生成绝对路径

#include "stdafx.h"
#include <stack>
#include <string>
#include <iostream>
using namespace std;

void getWord(char* src,stack<string>&s)
{
	string str=src;
	int index=0;

	while(1)
	{
		index=str.find_first_of("/");
		if(index==0)
		{
			str=str.substr(index+1);
			continue;
		}
		else
		{
			string temp=str.substr(0,index);
			s.push(temp);
			str=str.substr(index+1);
			if(str.empty())
			{
				break;
			}
		}
	}
}

void print(stack<string> s)
{
	string str;
	while(!s.empty())
	{
		string temp=s.top();
		if(temp.find("..")!=-1)
		{
			s.pop();
			s.pop();
		}
		else
		{
			str="/"+temp+str;
			s.pop();
		}
	}

	cout<<str.c_str()<<"/"<<endl;
}

int main()
{
	char src[]="/home/news/../tmp/game/../";

	stack<string> s;
	getWord(src,s);
	print(s);

	 system("pause");
	 return 0;
}

时间: 2024-09-05 04:07:58

相对路径生成绝对路径的相关文章

A*寻路算法所生成的路径

本文目的是对A*寻路算法所生成的路径进行一些人性化的调整,使其看起来不至于太机械化.关于A*算法的原理与实现,读者可以阅读其他资料,这里不再详细阐述. 如何写估价函数 A*寻路算法本质上是一个有方向性的广度优先搜索算法,它使用一个估价函数,来估测可能的最短路径,在每一次搜索迭代完成后,选取其邻接点中最优的一个(即,距离终点最近的一个点),作为下一次迭代的起点.如此反复,直到找到终点.下面先列出估价函数的常规写法: 设i点到起点的价值为S,到终点的估价为E,i点的总估价G等于S+E.S的值是确定的

静态文件cdn自解析生成相对路径

一.场景和目标:      用户上传一个包含 index.html 的静态资源压缩包,资源内所有文件都是相互依赖的,不需要用户对内部文件内容做任何特殊处理,仅通过服务端逻辑处理达到用户访问 http://xxx.xxx/guid/index.html 时就可以得到这个资源的所有数据并正常浏览. 二.技术:      nodejs.express      npm 包:decompress.request.crypto.pinyin 三.思路:      a.上传解析:      对每一个资源生成

浅谈 qmake 之 shadow build(就是将源码路径和构建路径分开)

shadow build shadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁. 这不是qmake独创的东西,cmake中早就使用这个东西了   cmake qmake 备注 in-source cmake . qmake project.pro 在源码路径下执行 out-of-source(shadow-build) mkdir build cd buildcmake ../project m

Asp.Net Core Web相对路径、绝对路径整理

一.相对路径 1.关于Asp.Net Core中的相对路径主要包括两个部分:一.Web根目录,即当前网站的目录为基础:二.内容目录wwwroot文件夹,对于静态文件都放在这个目录. 2.获取控制器,Action的路径 对于控制器.视图的链接生成,主要通过视图上下文.控制器上下文的Url对象 Url对象实现了IUrlHelper接口,主要功能是获取网站的相对目录,也可以将'~'发号开头的转换成相对目录. // // 摘要: // Defines the contract for the helpe

gcc指定头文件路径及动态链接库路径

一. #include <>与#include "" #include <>直接到系统指定的某些目录中去找某些头文件.#include ""先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件. 二. gcc指定头文件的三种情况: 1.会在默认情况下指定到/usr/include文件夹(更深层次的是一个相对路径,gcc可执行程序的路径是/usr/bin/gcc,那么它在实际工作时指定头文件头径是一种相对路径方法,换算成绝对路径

gcc在编译时头文件路径和动态链接库路径

在使用gcc编译连接生成可执行文件时,经常会碰到变量未定义.链接时或者运行可执行文件时找不到相应的动态库等问题,本文首先介绍了gcc在编译时头文件路径相关选项以及搜索路径顺序,然后讨论了编译成可执行文件时动态库的搜索路径顺序,最后说明了生成可执行文件后,运行文件时动态库的搜索路径顺序.搞清楚这三个搜索路径,在用gcc碰到的未定义变量或搜索不到动态库的问题,基本上都可以解决了. 头文件路径编译时相关选项 gcc可以使用选项-I(注意是大写)来指定头文件搜索路径,即头文件所在的文件夹.指定的路径即可

python 相对路径和绝对路径的区别

一,Python中获得当前目录和上级目录 获取当前文件的路径: from os import path d = path.dirname(__file__) #返回当前文件所在的目录 # __file__ 为当前文件, 若果在ide中运行此行会报错,可改为 #d = path.dirname('.') 获得某个路径的父级目录:( 强烈建议使用该方法!可以逐层获取到根目录的地址,例如D:/) parent_path = os.path.dirname(d) #获得d所在的目录,即d的父级目录 pa

eclipse部署tomcat修改项目访问路径(虚拟路径)

原文参考: http://www.educity.cn/wenda/147993.html http://blog.163.com/java_zf/blog/static/19926038420129240314546/ tomcat部署web项目(eclipse自动部署项目到tomcat,访问URL中不包含部署名) 最近项目中需要把项目部署到tomcat中,并且访问路径中不包含不署名,且想实现Eclipse中的自动部署,扒了好久资料,最终实现了自己的需求,呵呵,如下: 1. 把项目contex

绝对路径和相对路径

HTML初学者会经常遇到这样一个问题,如何正确引用一个文件. 比如,怎样在一个HTML网页中引用另外一个HTML网页作为超链接(hyperlink)?怎样在一个网页中插入一张图片? 如果你在引用文件时(如加入超链接,或者插入图片等),使用了错误的文件路径,就会导致引用失效(无法浏览链接文件,或无法显示插入的图片等). 为了避免这些错误,正确地引用文件,我们需要学习一下HTML路径. 在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径 1.绝对路径:是从盘符