代码之家  ›  专栏  ›  技术社区  ›  baash05

任何人都知道一个好的Windows常量列表住在哪里

  •  -2
  • baash05  · 技术社区  · 17 年前

    我正在尝试将无效值设置为-1..但我不喜欢神奇的数字……任何人都知道在哪里可以找到一组公共常量。我在VS6(ISH)工作。

    我正试图通过网络读取一个文件,我需要一个错误的文件总大小值,所以我知道是否有有效的信息。0是有效的大小,因此我无法使用它。

    哈珀·谢尔比把钉子敲在了头上。只是一个小拇指。 他提到了win32常量。这正是我想的……现在查找链接:)

    8 回复  |  直到 15 年前
        1
  •  2
  •   Steven A. Lowe    17 年前
    #define BAD_VALUE -1
    

    编辑:原始问题没有上下文。修改后的问题表明您需要一个无效的文件大小,因此正在查找win32常量。看 windows.h 我想你寻找的常数可能在 窗口h 或其一个子包括。grep您的Windows include目录;-)

        2
  •  2
  •   Harper Shelby damiankolasa    17 年前

    如果-1是系统中返回值的无效值,则应在内部对其进行定义:

    const int INVALID_FOO = -1
    

    除非需要C兼容性,在这种情况下

    #define INVALID_FOO -1
    

    最好是。如果它是标准的MFC或Windows资源,请使用无效的句柄或其他win32定义的常量之一。

        3
  •  1
  •   Arkadiy    17 年前

    你想用你自己的魔法数字-1伪装成一个Windows常量。这是非常误导人的。

    假设我碰巧知道无效的_句柄是0。用无效的句柄初始化指针可以吗?

    char *myMessage = INVALID_HANDLE;
    

    你觉得怎么样?

        4
  •  1
  •   jmucchiello    17 年前

    在vs中,创建一个新的Windows控制台应用程序项目。进入项目设置并打开浏览支持。创建一个C++文件并将其添加到项目中。Type:

    #include <windows.h>
    void main(void) {}
    

    进入文件。编译它。现在在文件中键入无效的文件大小。右键单击它并转到无效文件大小的定义。VS将打开许多包含定义值的Windows头文件之一。享受。

        5
  •  1
  •   Lodle    17 年前

    首先,您应该使用无符号int作为文件大小,因为文件大小从不为负数。现在一个无效的文件大小通常是max int,所以在使用32位无符号int的情况下,它将是0xffffffff

    const unsigned int INVALID_FILESIZE = 0xFFFFFFFF;
    

    如果在Windows上,则windows.h将定义无效的文件大小all ready(无效的文件大小)

        6
  •  1
  •   Aoi Karasu    15 年前

    如果要使用winapi使用的常量,请查看winerrror.h、winuser.h和winnt.h文件。

        7
  •  -1
  •   James Curran    17 年前

    一般认为0和1(正和负)可以直接使用。

    实际上,使用变量可能会使代码更加混乱。

    更新:好的,你在我写下答案后更新了你的问题。如果以算术的方式使用“-1”,那么“-1”就可以了。如果您返回一个错误代码(代码恰好是-1),那么您应该使用一个常量。

     const int INVALID_VALUE = -1;
    
        8
  •  -1
  •   strager    17 年前
    If bytes_read < 0
        // error
    EndIf
    
    推荐文章