c语言获取最大软件版本号

c语言获取最大软件版本号,第1张

获取最大软件版本号可以使用C语言中的字符串比较函数strcmp()函数来实现。首先,我们需要从指定的软件版本号中提取出每个版本号,然后将其转换为整数值,最后使用strcmp()函数来比较两个整数值,比较结果如果大于0,则表示第一个版本号大于第二个版本号,反之则表示第二个版本号大于第一个版本号。最后,我们只需要遍历所有的版本号,并使用strcmp()函数比较,就能够得到最大的版本号。

redhat系统可直接从文件中读取:cat /etc/redhat-release

windows:

GetUserName(LPWSTR lpBuffer, LPDWORD nSize)

lpBuffer是一个数组的地址,用来存贮得到的用户名,nsize是个指针,指向此存贮此数组大小的单元,就是数组能存贮的字符数量

GetVersionExW(LPOSVERSIONINFOW)

参数LPOSVERSIONINFO是一个指向OSVERSIONINFO类型变量的指针,

具体判断代码如下

定义 OSVERSIONINFO osvi

然后调用函数取得版本号,判断如下

switch (osvi.dwPlatformId)

{

case VER_PLATFORM_WIN32_NT:

if (osvi.dwMajorVersion == 5&&osvi.dwMinorVersion == 0)

{

strOSVersion = TEXT("Windows 2000")

}

else if (osvi.dwMajorVersion == 5&&osvi.dwMinorVersion == 1)

{

strOSVersion = TEXT("Windows XP")

}

else if(osvi.dwMajorVersion == 6&&osvi.dwMinorVersion == 0)

{

strOSVersion = TEXT("Windows Vista")

}

else if (osvi.dwMajorVersion == 4&&osvi.dwMinorVersion == 0)

{

strOSVersion = TEXT("Windows NT")

}

break

case VER_PLATFORM_WIN32_WINDOWS:

if (osvi.dwMajorVersion == 4&&osvi.dwMinorVersion == 10)

{

strOSVersion = TEXT("Windows 98")

}

else if (osvi.dwMajorVersion == 4&&osvi.dwMinorVersion == 90)

{

strOSVersion = TEXT("Windows ME")

}

else

{

strOSVersion = TEXT("Windows 95")

}

break

default:

break

}

@echo off

set "App=c:\Program Files\FlashFXP\flashfxp.exe"

wmic datafile where "Name= %App%" get Manufacturer,Version,Filename

pause

改成如此便可,

给变量加双引号防止路径空格,如此便可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8039154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存