场景
通过C语言中的File获取文件长度
static std::int64_t GetFileLen(const std::string &strFileName)
{
FILE *pFile = fopen(strFileName.c_str(), "rb");
if (pFile == NULL)
{
return 0;
}
fseek(pFile, 0, SEEK_END);//定位到文件的最后面
std::int64_t nLen = ftell(pFile);
fclose(pFile);
return nLen;
}
注意:如果打开标志位写成"w+",将会导致nLen返回0,并且文件内容将被清空
注意:添加b指明采用二进制的方式读取文件内容,否则将会以文本文件方式读取,这个在读取音视频文件或者json文件中,必须指定
字符文件就是你往里写的什么就是什么,比如你写了一个9,那么你用记事本打开,它就显示9,如果是二进制的文件,你看到的就是只有0和1的数字,而且二进制的文件是有格式的,即: int ch = 0; fwrite(&ch, sizeof(int), 1, fp); fwrite(&ch, sizeof(char), 2, fp); 用以上两种格式同样都写0,但得到的结果是不一样的 r代表打开字符文件(打开字符文件是默认的),并且只读 rb代表打开二进制文件,并且只读