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

}


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

原文地址:https://54852.com/yw/8270403.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存