zoukankan      html  css  js  c++  java
  • C++ GetSystemDirectory()

    关于GetSystemDirectory function,参考:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724373(v=vs.85).aspx

    以下代码摘自Getting System Information(https://msdn.microsoft.com/en-us/library/windows/desktop/ms724426(v=vs.85).aspx)。

    IDE: Microsoft Visual Studio Community 2017 15.5.2

    操作系统:Windows 7 x64

     1 #include "stdafx.h"    /* IDE自行创建的 */
     2 
     3 #include <windows.h>
     4 
     5 #define INFO_BUFFER_SIZE 21
     6 
     7 int main(int argc, char **argv)
     8 {
     9     TCHAR infoBuf[INFO_BUFFER_SIZE];
    10     UINT RetSize;
    11 
    12     RetSize = GetSystemDirectory(infoBuf, INFO_BUFFER_SIZE);
    13 //    RetSize = 0;
    14     if ((RetSize != 0) && (RetSize <= INFO_BUFFER_SIZE)) {
    15         // If the function succeeds, the return value is the length, in TCHARs, of the string copied to the buffer,
    16         // not including the terminating null character.
    17 
    18         // Display the system directory.
    19         printf("System Directory: %ls", infoBuf);
    20     }
    21     else if (RetSize > INFO_BUFFER_SIZE) {
    22         // If the length is greater than the size of the buffer, 
    23         // the returnv alue is the size of the buffer required to hold the path, 
    24         // including the terminating null character.
    25         printf("The size of the buffer is not enough, need %d TCHARs at least. 
    ", RetSize);
    26     }
    27     else {
    28         // If the function fails, the return value is zero. To get extended error information, call GetLastError.
    29         printf("Get system directory failed with error: %d", GetLastError());
    30     }
    31 
    32     getchar();
    33 
    34     return 0;
    35 }

    可以修改INFO_BUFFER_SIZE的值,改变程序的运行结果。

    也可以去掉RetSize = 0;前面的注释,模拟错误(实际上不是错误,我只是用来测试if语句的条件)。

    不知道是否存在BUG???

    
    
  • 相关阅读:
    呼叫中心架构设计
    呼叫中心架构设计
    python数据分析工具安装集合
    QQ 聊天机器人小薇 2.0.0 发布!
    QQ 聊天机器人小薇 2.0.0 发布!
    spark编程python实例
    Intellij idea配置scala开发环境
    stm32时钟设置函数
    ESP8266 TCP传输AT指令顺序
    WIFI接入Internet配置过程
  • 原文地址:https://www.cnblogs.com/Satu/p/8206456.html
Copyright © 2011-2022 走看看