【发布时间】:2014-03-30 10:10:56
【问题描述】:
我在 VC++ 中有一个 SDK 示例,我正在用 c# 编写代码。在 VC++ 示例中他们使用过
struct _stat StatBuff;
当我检查 _stat 的定义时,它是
#define _stat _stat64i32
他们使用 StatBuff 作为
unsigned int BuffSize = StatBuff.st_size + 8;
此代码旨在为浏览的图像文件创建缓冲区,下一行是
ImageBuffer = (BYTE *)malloc( BuffSize );
我想知道如何在 c# 中转换 (StatBuff.st_size),我在互联网上搜索了很多但无法转换这段代码。我可以使用一些替代的 c# 函数吗?
【问题讨论】:
-
或许你能告诉我们这段代码的目的是什么?
-
#nvoigt 我已经编辑了问题
-
也许你可以发一个更大的块,因为C#中有简单的图片加载功能,不需要去摆弄低级字节计算。
-
这可能是一个糟糕的开始代码选择,_stat() 是一个 Unix 函数,它很难映射到 Windows 文件系统。我想图像文件格式也是如此。不过,_stat.st_size 不是问题,它与 FileInfo.Length 相同。而且 malloc() 不应该让你慢下来,它是 new byte[]。
标签: c# c++ visual-c++