有的部分需要用到路径中的文件,但是路径文件不能在一起,只能将他们拼接起来。。。
在linux下面, path 的指定格式为两个斜杠 例如 //home//dong//test 但是往往传递过来的参数为/home/dong/test
则 我们需要转换 字符串 如下代码可以解决这个问题:
- void
pathFormatOperation(char *saveframeURI)//saveframeURI保存转换后的字符串,所以申请的空间要大一些 - {
-
char path[255]; -
int i = 0; -
int j = 0; -
-
i = 0; -
j = 0; -
while(saveframeURI[i] != '\0') -
{ -
if(saveframeURI[i] == '/') -
{ -
path[j++] = '/'; -
path[j++] = '/'; -
} -
else -
{ -
path[j++] = saveframeURI[i]; -
} -
i++; -
} -
path[j++] = '/';//最后加上2个'/'的原因是为了拼接后面的文件名,这只是路径。可根据自己的情况进行处理 -
path[j++] = '/'; -
path[j] = '\0'; -
strcpy(saveframeURI,path); - }
通过以上代码,解决了路径的格式问题。但是fopen(path,"wb")的返回值还是NULL,最后分析是文件/home/dong/test的权限问题,通过chmod 777 /hom/dong/test 修改权限,解决了问题。
本文讨论了Linux下路径格式转换问题,并提供了解决方案。通过代码示例展示了如何将传递的路径参数转换为正确的Linux路径格式。此外,文章还解决了因权限问题导致的fopen函数返回NULL的问题,通过修改文件权限成功解决问题。
431

被折叠的 条评论
为什么被折叠?



