C++中将相对路径转化为绝对路径

需求描述:C++程序需要将部分文件的绝对路径以字符串的形式保存下来,而在 C++的一般方法中只能得到路径的相对表达方式。

解决方法:将相对路径转换为绝对路径的代码实现如下

//filePathbuf变量是保存着相对路径的char型数组,dir用来保存绝对路径
char dir[1024]="";
//1.转换绝对路径到dir
#ifdef _WIN32
	_fullpath(dir,filePathbuf,1024);
#else
	realpath(filePathbuf,dir);
#endif
//2.替换绝对路径中的'/'为'\'
//因为上述方法转换出来的绝对路径之间会以'/'分隔,例如“C:/user/desktop”,字符串处理遇到'/'一般会报错,下面一行代码将'/'全部替换为'\'
	for(int i=0;dir[i]!=0&&i<1024;i++){   
        if(dir[i] == 92){            
            dir[i]='/';}
	}

 

你可能感兴趣的:(visual,studio,2010+opencv)