avpriv_io_delete和avpriv_io_move操作文件不起作用

来源:5-4 FFmpeg文件的删除与重命名

applegg

2018-11-10

我下载官方windows下dev和动态库在Vs2015下编译。`extern “C” {
#include <libavutil/log.h>
#include <libavformat/avformat.h>
}
int main() {
int ret = -1;
av_log_set_level(AV_LOG_DEBUG);
/*av_log(NULL, AV_LOG_DEBUG, “Hello World %s %d\n”, “ww”, 200);

ret = avpriv_io_move("./1.txt", "./2.txt");
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "文件重命名错误\n");
return -1;
}*/
//av_log(NULL, AV_LOG_INFO, "文件重命名成功\n");
ret = avpriv_io_delete("1.txt");
if (ret < 0) {
	av_log(NULL, AV_LOG_ERROR, "文件删除错误\n");
	return -1;
}
av_log(NULL, AV_LOG_INFO, "文件删除成功\n");
return 0;

}
图片描述
在更改文件名称中ret返回0表示成功,但是目录下文件没有被更改
图片描述
在删除文件下ret=-2,方法失败,Debug下编译,编译过程没有出错不知为什么在windows下这两个方法不能用,av_log方法正常。

写回答

1回答

李超

2018-11-10

如果在同一个目录下,把./去掉试试

0
2
applegg
不能改文件名找到原因了,要直接运行exe。 在删除含数我试了加./和不加./都报错-22。使用绝对路径也删除不了,c:/user/ww/Desktop/Log/Release/1.txt也报-22
2018-11-10
共2条回复

经典再升级-FFmpeg5.0核心技术精讲,打造音视频播放器

学好FFmpeg核心技术,做高效,高薪,有竞争力的音视频工程师

2726 学习 · 814 问题

查看课程