标题说明了一切。写入具有长路径的文件时,路径将被截断。
string filename="/pathwithmorethan512characters/song.wav";
sf_open(filename.c_str(), SFM_WRITE, &sfinfo);
有关解决方法的任何想法吗?
我使用linux和libsndfile.so.1.0.25。
答案 0 :(得分:0)
自2014年10月修订版1.0.26起,common.h
文件已更新,存储空间增加了一倍。
您现在可以存储最多1024个字符的路径:
#define SF_FILENAME_LEN (1024)
相应的错误消息也已更新。这个例子:
#include <stdio.h>
#include <stdlib.h>
#include "sndfile.h"
int main(void)
{
char *inFileName;
SNDFILE *inFile;
SF_INFO inFileInfo;
inFileName = "long_file_name_above_1024_characters.wav";
inFile = sf_open(inFileName, SFM_READ, &inFileInfo);
puts(sf_strerror(inFile));
sf_close(inFile);
return 0;
}
返回:
错误:提供的文件名太长。