Qt/C++;最大路径长度 我需要用Qt为C++中的文件名(包括路径)分配空间。我希望确保分配足够的空间,但无法找到定义最大路径长度的位置
我发现很多帖子都发到了_MAX_PATH MAX_PATH PATH_MAX等等…但是很多后续帖子都说这些帖子是错误的/不可靠的/特定于实现的/等等 因为我是为Linux构建的,所以有没有一个值可以在任何地方引用Qt/C++;最大路径长度 我需要用Qt为C++中的文件名(包括路径)分配空间。我希望确保分配足够的空间,但无法找到定义最大路径长度的位置,c++,qt,path,max,C++,Qt,Path,Max,我发现很多帖子都发到了_MAX_PATH MAX_PATH PATH_MAX等等…但是很多后续帖子都说这些帖子是错误的/不可靠的/特定于实现的/等等 因为我是为Linux构建的,所以有没有一个值可以在任何地方引用 更多信息:以下代码显示了我转换的方式和原因: struct stat existing_fileinfo, new_fileinfo; // Structs to get file info int existingFileStat = fstat(m_securityLogFil
更多信息:以下代码显示了我转换的方式和原因:
struct stat existing_fileinfo, new_fileinfo; // Structs to get file info
int existingFileStat = fstat(m_securityLogFile->handle(),&existing_fileinfo);
char filename_asterisk_securitylog[1024]; // Max path length?
QByteArray filename_asterisk_securitylog_array(programSettings->asterisk_securitylog().toLatin1().data());
memcpy(filename_asterisk_securitylog,filename_asterisk_securitylog_array,filename_asterisk_securitylog_array.size());
int newFileStat = stat(filename_asterisk_securitylog, &new_fileinfo);
您是否可以使用
std::string
,或者您是否担心您的路径可能会在字符串实现中达到某些限制?您从何处读取此路径?有什么原因不能使用QString或QByteArray/QBuffer之类的工具自动进行内存管理吗?我正在将路径发送到sys/stat函数,该函数需要const*char作为类型…因此我需要首先转换它。请参见上文。然后只需执行stat(使用path.c_str()和new_fileinfo的字符串)代码>