为什么会
std::malloc()失败?
明显的原因是“因为
std::ftell()返回了负号,然后将其视为巨大的未签名号”。
根据文档,
std::ftell()如果失败,则返回-1。失败的一个明显原因是
您无法在管道或FIFO中进行查找 。
跑不了的; 您无法不读取而无法知道命令输出的长度,并且只能读取一次。您必须分块读取它,或者根据需要增加缓冲区或动态解析。
但是,当然,您可以直接使用系统调用
df来获取其信息来直接避免整个问题:
statvfs()。

为什么会
std::malloc()失败?
明显的原因是“因为
std::ftell()返回了负号,然后将其视为巨大的未签名号”。
根据文档,
std::ftell()如果失败,则返回-1。失败的一个明显原因是
跑不了的; 您无法不读取而无法知道命令输出的长度,并且只能读取一次。您必须分块读取它,或者根据需要增加缓冲区或动态解析。
但是,当然,您可以直接使用系统调用
df来获取其信息来直接避免整个问题:
statvfs()。