小编Jac*_*cce的帖子

如何确保 DirectDraw 表面具有正确的文件格式?

我需要做一个简单的检查,如果一个 dds 文件是有效的格式。我只需要对 dds 文件进行一般检查,所以我不需要检查它是否是 dxt1、dxt5、dx10 等。例如,如果我有一个 png 图像并且我将扩展名重命名为 .dds dds 格式当然会出错,然后我需要告诉用户他正在尝试使用格式错误的 dds 文件。但是,如果我有一个确实具有正确文件格式的 dds,我将不需要做任何进一步的调查,因为我不关心它是什么类型的 dds 文件(此时)。所以我只需要读取 dds 文件的部分,这些部分将在所有 dds 文件上保持不变。我想我可以以某种方式读取 dds 标题和幻数。我必须对 png 文件进行相同的验证,然后我正在读取 png 标题,如下所示:

    var png = new byte[] { 0x89, 0x50, 0x4e, 0x47, 0x0D, 0x0A, 0x1A, 0x0A }
    using (FileStream fs = new FileStream(fileToCheck, FileMode.Open, FileAccess.Read))
            {
               if (fs.Length > buffer.Length)
                 {
                   fs.Read(buffer, 0, buffer.Length);
                   fs.Position = (int)fs.Length - endBuffer.Length;
                   fs.Read(bufferEnd, 0, endBuffer.Length);
                 }

               fs.Close();
            } 
    for (int i = 0; i < png.Length; i++)
        { …
Run Code Online (Sandbox Code Playgroud)

.net c# binaryfiles dds-format

5
推荐指数
1
解决办法
901
查看次数

C#主要功能无效

在C和C++中,main函数的类型为int,在main方法的末尾返回0.如果程序返回0,我知道程序是成功的.但是在c#中,默认情况下main的类型为void(我猜你可以将它改为int并返回0)所以我怎么知道程序在这种情况下是成功的呢?在主方法无效的情况下,我是否必须调试或执行一些调试处理以真正阐明程序是否成功?

.net c#

1
推荐指数
1
解决办法
91
查看次数

从文本文件中替换多个字符串

我需要在文本文件中替换多个字符串.这是我的代码:

List<string> list = new List<string>();
string Text = File.ReadAllText(temp);
list.Add(Text.Replace("name", name));
list.Add(Text.Replace("name2", name2));
list.Add(Text.Replace("1.0000", CR));
list.Add(Text.Replace("0.6590", CG));
list.Add(Text.Replace("0.0000", CB));
foreach (string txt in list)
{
    File.WriteAllText(path, txt);
}
Run Code Online (Sandbox Code Playgroud)

当我调试时,我可以看到一个接一个地替换字符串,但是当下一个字符串即将被替换时,最后一个字符串将返回其旧值.有没有办法在文本文件中替换多个字符串?

c#

0
推荐指数
1
解决办法
51
查看次数

标签 统计

c# ×3

.net ×2

binaryfiles ×1

dds-format ×1