一个c++问题,在线等!急着要用谢谢!
AnsiStringsfile=m_SamplePath+"测试.jpg";FILE*f=fope(sfile.c_str(),"rb");是什么意思?这个一段是什么意思...
AnsiString sfile=m_SamplePath+"测试.jpg";
FILE* f=fope(sfile.c_str(),"rb");
是什么意思?
这个一段是什么意思,没玩过C++谢谢各位了 展开
FILE* f=fope(sfile.c_str(),"rb");
是什么意思?
这个一段是什么意思,没玩过C++谢谢各位了 展开
展开全部
可以解释成:
第一行:先定义Ansi的字符类型地址叫sfile,他的文件路径由m_SamplePath+"测试.jpg";拼接而成,例如:D://picture/测试.jpg,
第二行:定义一个文件对象,使用fopo函数打开,函数第二个参数:r:表示只读的方式打开。b:表示打开的是二进制文件形式。
简单的来说,这个代码就是读取一张图片二进制信息。
第一行:先定义Ansi的字符类型地址叫sfile,他的文件路径由m_SamplePath+"测试.jpg";拼接而成,例如:D://picture/测试.jpg,
第二行:定义一个文件对象,使用fopo函数打开,函数第二个参数:r:表示只读的方式打开。b:表示打开的是二进制文件形式。
简单的来说,这个代码就是读取一张图片二进制信息。
追答
第三行:判断文件如果为空,直接返回
第四行:使用fseek函数,将文件读写位置指针移动到文件尾。
第五行:使用ftell函数,取得文件当前指针位置到文件头的偏移字节数,相当于4,5行得到了这个图片文件的字节总大小。
第六行:和第四行相反,将指针位置移动到文件头。
第七行:定义一个字符数组,长度为图片的长度,用于存储文件,相当于buffer缓冲区。
第八行:使用fread函数,将file图片去取到buf缓冲区内。用于后续操作。
第九行:关闭文件流,释放文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询