linux中path路径的转换

来源:互联网 发布:大数据交换平台 编辑:程序博客网 时间:2024/06/05 12:04

有的部分需要用到路径中的文件,但是路径文件不能在一起,只能将他们拼接起来。。。

在linux下面, path 的指定格式为两个斜杠 例如 //home//dong//test 但是往往传递过来的参数为/home/dong/test

则 我们需要转换 字符串 如下代码可以解决这个问题:                                                                                       

 

[cpp] viewplaincopy
  1.   
[cpp] viewplaincopy
  1. void pathFormatOperation(char *saveframeURI)//saveframeURI保存转换后的字符串,所以申请的空间要大一些  
  2.  
  3.     char path[255];  
  4.     int 0;  
  5.     int 0;  
  6.       
  7.     0;  
  8.     0;  
  9.     while(saveframeURI[i] != '\0' 
  10.      
  11.         if(saveframeURI[i] == '/' 
  12.          
  13.             path[j++] '/' 
  14.             path[j++] '/' 
  15.          
  16.         else  
  17.          
  18.             path[j++] saveframeURI[i];  
  19.          
  20.         i++;  
  21.      
  22.     path[j++] '/';//最后加上2个'/'的原因是为了拼接后面的文件名,这只是路径。可根据自己的情况进行处理  
  23.     path[j++] '/' 
  24.     path[j] '\0' 
  25.     strcpy(saveframeURI,path);  
  26.  

通过以上代码,解决了路径的格式问题。但是fopen(path,"wb")的返回值还是NULL,最后分析是文件/home/dong/test的权限问题,通过chmod 777 /hom/dong/test 修改权限,解决了问题。

0 0