我正在尝试将文件大小从文件转换为十六进制代码,但它给了我一个错误。
我到目前为止的代码:
public static string DecToHex(int decValue)
{
return string.Format("{0:x}", decValue);
}
private void button1_Click(object sender, EventArgs e)
{
DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Admin\Desktop\10 23\files");
FileInfo[] Files = dinfo.GetFiles("*.xml");
foreach (FileInfo file in Files)
{
listBox1.Items.Add(file.Name);
}
}
private void button2_Click(object sender, EventArgs e)
{
DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\Admin\Desktop\10 23\files");
FileInfo[] Files = dinfo.GetFiles("*.xml");
foreach (FileInfo file in Files)
{
listBox2.Items.Add(DecToHex(file.Length));
}
}
错误是“.. 无法从 'long' 转换为 'int' 。也许有人知道将文件大小显示为 hex 的更好方法。
我在 C++ 中有这段代码
if(m_bAlgorithm[HASHID_SIZE_32])
{
sizehash32_end(&m_uSizeHash32);
printf(SZ_SIZEHASH_32);
printf(SZ_HASHPRE);
printf("%08X", m_uSizeHash32);
printf(CPS_NEWLINE);
}