• 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???

    
    
  • 相关阅读:
    好用的QT连接
    c指针点滴-指针与类型
    c指针点滴5-指针变量计算
    c指针点滴4-指针的值
    c指针点滴三(指针运算)
    c语言指针点滴1
    c指针点滴2之比大小
    c指针点滴1
    linux安装redis
    支付宝支付接口流程
  • 原文地址:https://www.cnblogs.com/Satu/p/8206456.html
Copyright © 2020-2023  润新知