【发布时间】:2019-07-02 05:14:22
【问题描述】:
根据Size of file using C++17的回复,我编写了如下程序。但是,当可执行文件运行时,我得到一个分段错误。我在运行 High Sierra 的 iMac 上使用 g++ 8.3.0。
// c17filesize.cpp
// Jul-02-2019
#include <cstring>
#include <filesystem>
using namespace std;
int main(int argc, char **argv)
{
char filename[100];
(argc > 1) ? strcpy(filename, argv[1]) : strcpy(filename, __FILE__);
auto size = filesystem::file_size(filename);
}
【问题讨论】:
-
这不是文件系统,而是您的代码段错误。始终使用 strncpy,而不是 strcpy。在这里你也不需要 - 只需使用 std::string。