Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt/C++;最大路径长度 我需要用Qt为C++中的文件名(包括路径)分配空间。我希望确保分配足够的空间,但无法找到定义最大路径长度的位置_C++_Qt_Path_Max - Fatal编程技术网

Qt/C++;最大路径长度 我需要用Qt为C++中的文件名(包括路径)分配空间。我希望确保分配足够的空间,但无法找到定义最大路径长度的位置

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

我发现很多帖子都发到了_MAX_PATH MAX_PATH PATH_MAX等等…但是很多后续帖子都说这些帖子是错误的/不可靠的/特定于实现的/等等

因为我是为Linux构建的,所以有没有一个值可以在任何地方引用


更多信息:以下代码显示了我转换的方式和原因:

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的字符串)