当前位置: 首页 > news >正文

药品网站订单源码深圳seo优化公司哪家好

药品网站订单源码,深圳seo优化公司哪家好,开公司要做哪些准备,佛山网站设计哪里好在 C 中获取蓝牙版本号,不同的操作系统有不同的实现方式,下面分别介绍在 Windows 和 Linux 系统下的实现方法。 Windows 系统 在 Windows 系统中,可以使用 Windows API 来与蓝牙设备交互,获取蓝牙版本号。以下是一个示例代码&…

在 C++ 中获取蓝牙版本号,不同的操作系统有不同的实现方式,下面分别介绍在 Windows 和 Linux 系统下的实现方法。

Windows 系统

在 Windows 系统中,可以使用 Windows API 来与蓝牙设备交互,获取蓝牙版本号。以下是一个示例代码:

收起

cpp

#include <iostream>
#include <windows.h>
#include <bthdef.h>
#include <bthapi.h>
#include <BluetoothAPIs.h>#pragma comment(lib, "Bthprops.lib")// 函数用于获取本地蓝牙设备的版本号
void GetBluetoothVersion() {// 初始化WSA数据WSADATA wsaData;if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {std::cerr << "WSAStartup failed: " << WSAGetLastError() << std::endl;return;}// 打开本地蓝牙设备BLUETOOTH_FIND_RADIO_PARAMS radioParams = { sizeof(BLUETOOTH_FIND_RADIO_PARAMS) };HBLUETOOTH_RADIO_FIND hFind = BluetoothFindFirstRadio(&radioParams, &radioParams.hRadio);if (hFind == NULL) {std::cerr << "BluetoothFindFirstRadio failed: " << GetLastError() << std::endl;WSACleanup();return;}// 获取蓝牙设备信息BLUETOOTH_RADIO_INFO radioInfo = { sizeof(BLUETOOTH_RADIO_INFO) };if (BluetoothGetRadioInfo(radioParams.hRadio, &radioInfo) != ERROR_SUCCESS) {std::cerr << "BluetoothGetRadioInfo failed: " << GetLastError() << std::endl;}else {// 提取蓝牙版本信息WORD lmpVersion = radioInfo.lmpVersion;std::cout << "Bluetooth Version: ";switch (lmpVersion) {case 1:std::cout << "1.0";break;case 2:std::cout << "1.1";break;case 3:std::cout << "1.2";break;case 4:std::cout << "2.0 + EDR";break;case 5:std::cout << "2.1 + EDR";break;case 6:std::cout << "3.0 + HS";break;case 7:std::cout << "4.0";break;case 8:std::cout << "4.1";break;case 9:std::cout << "4.2";break;case 10:std::cout << "5.0";break;case 11:std::cout << "5.1";break;case 12:std::cout << "5.2";break;case 13:std::cout << "5.3";break;default:std::cout << "Unknown (" << lmpVersion << ")";break;}std::cout << std::endl;}// 关闭蓝牙设备查找句柄和设备句柄BluetoothFindRadioClose(hFind);CloseHandle(radioParams.hRadio);WSACleanup();
}int main() {GetBluetoothVersion();return 0;
}
代码解释

  1. WSAStartup:初始化 Windows Sockets DLL,为后续的蓝牙操作做准备。
  2. BluetoothFindFirstRadio:查找本地的第一个蓝牙适配器。
  3. BluetoothGetRadioInfo:获取蓝牙适配器的详细信息,其中lmpVersion字段包含了蓝牙版本号。
  4. 根据lmpVersion判断蓝牙版本:通过switch语句将lmpVersion转换为对应的蓝牙版本字符串并输出。
  5. 清理资源:关闭蓝牙设备查找句柄和设备句柄,调用WSACleanup清理 Windows Sockets 资源。
Linux 系统

在 Linux 系统中,可以使用 BlueZ 库来与蓝牙设备交互。以下是一个示例代码:

收起

cpp

#include <iostream>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
#include <bluetooth/hci_lib.h>// 函数用于获取本地蓝牙设备的版本号
void GetBluetoothVersion() {// 打开第一个HCI设备int dev_id = hci_get_route(NULL);int sock = hci_open_dev(dev_id);if (sock < 0) {std::cerr << "Failed to open HCI device: " << strerror(errno) << std::endl;return;}// 获取蓝牙设备信息struct hci_version version;if (hci_read_local_version(sock, &version, 1000) < 0) {std::cerr << "Failed to read local version: " << strerror(errno) << std::endl;close(sock);return;}// 输出蓝牙版本信息std::cout << "Bluetooth Version: ";switch (version.lmp_ver) {case 1:std::cout << "1.0";break;case 2:std::cout << "1.1";break;case 3:std::cout << "1.2";break;case 4:std::cout << "2.0 + EDR";break;case 5:std::cout << "2.1 + EDR";break;case 6:std::cout << "3.0 + HS";break;case 7:std::cout << "4.0";break;case 8:std::cout << "4.1";break;case 9:std::cout << "4.2";break;case 10:std::cout << "5.0";break;case 11:std::cout << "5.1";break;case 12:std::cout << "5.2";break;case 13:std::cout << "5.3";break;default:std::cout << "Unknown (" << version.lmp_ver << ")";break;}std::cout << std::endl;// 关闭HCI设备close(sock);
}int main() {GetBluetoothVersion();return 0;
}
代码解释

  1. hci_get_route:获取第一个 HCI 设备的 ID。
  2. hci_open_dev:打开指定的 HCI 设备。
  3. hci_read_local_version:读取本地蓝牙设备的版本信息,结果存储在hci_version结构体中。
  4. 根据lmp_ver判断蓝牙版本:通过switch语句将lmp_ver转换为对应的蓝牙版本字符串并输出。
  5. 关闭设备:调用close函数关闭 HCI 设备。

编译和运行

Windows 系统

使用 Visual Studio 等 IDE 打开项目,确保包含必要的头文件和链接库(Bthprops.lib),然后编译运行。

Linux 系统

使用以下命令编译代码:

收起

sh

g++ -o get_bluetooth_version get_bluetooth_version.cpp -lbluetooth

运行编译后的可执行文件:

收起

sh

./get_bluetooth_version

以上代码可以帮助你在不同的操作系统下获取蓝牙版本号。需要注意的是,代码中可能需要根据实际情况进行错误处理和资源管理的优化。


文章转载自:
http://delilah.nrpp.cn
http://lanuginose.nrpp.cn
http://rotamer.nrpp.cn
http://ruwenzori.nrpp.cn
http://obstupefy.nrpp.cn
http://serpula.nrpp.cn
http://phelps.nrpp.cn
http://janizary.nrpp.cn
http://wahine.nrpp.cn
http://acariasis.nrpp.cn
http://hesperia.nrpp.cn
http://stockinet.nrpp.cn
http://prog.nrpp.cn
http://rediffusion.nrpp.cn
http://highbush.nrpp.cn
http://acidity.nrpp.cn
http://bodhidharma.nrpp.cn
http://hydroformer.nrpp.cn
http://isometric.nrpp.cn
http://canoodle.nrpp.cn
http://spikelet.nrpp.cn
http://eonism.nrpp.cn
http://reconcentrate.nrpp.cn
http://atopy.nrpp.cn
http://foundress.nrpp.cn
http://gramophile.nrpp.cn
http://etesian.nrpp.cn
http://suffocating.nrpp.cn
http://wilno.nrpp.cn
http://sinusoidal.nrpp.cn
http://infighter.nrpp.cn
http://litigable.nrpp.cn
http://misplace.nrpp.cn
http://tother.nrpp.cn
http://motile.nrpp.cn
http://equid.nrpp.cn
http://puseyite.nrpp.cn
http://gammasonde.nrpp.cn
http://deflocculation.nrpp.cn
http://megabuck.nrpp.cn
http://scv.nrpp.cn
http://overcrop.nrpp.cn
http://therefor.nrpp.cn
http://octagon.nrpp.cn
http://mobbism.nrpp.cn
http://delectate.nrpp.cn
http://oink.nrpp.cn
http://helplessly.nrpp.cn
http://mil.nrpp.cn
http://hydroxylysine.nrpp.cn
http://fladge.nrpp.cn
http://footstock.nrpp.cn
http://metallography.nrpp.cn
http://shrinkproof.nrpp.cn
http://lachlan.nrpp.cn
http://kewpie.nrpp.cn
http://plethysmograph.nrpp.cn
http://calumniation.nrpp.cn
http://cliff.nrpp.cn
http://intermedia.nrpp.cn
http://earthday.nrpp.cn
http://planosol.nrpp.cn
http://amygdalotomy.nrpp.cn
http://uncoil.nrpp.cn
http://riprap.nrpp.cn
http://salpingian.nrpp.cn
http://immanency.nrpp.cn
http://carrefour.nrpp.cn
http://karn.nrpp.cn
http://acrobatic.nrpp.cn
http://poppyhead.nrpp.cn
http://rolleiflex.nrpp.cn
http://delightful.nrpp.cn
http://monometallist.nrpp.cn
http://bethel.nrpp.cn
http://talcous.nrpp.cn
http://kirn.nrpp.cn
http://mucopurulent.nrpp.cn
http://cherub.nrpp.cn
http://applicant.nrpp.cn
http://toxalbumin.nrpp.cn
http://haematocryal.nrpp.cn
http://riding.nrpp.cn
http://pram.nrpp.cn
http://cssr.nrpp.cn
http://chanty.nrpp.cn
http://upc.nrpp.cn
http://hairbrained.nrpp.cn
http://thereon.nrpp.cn
http://packet.nrpp.cn
http://kalsomine.nrpp.cn
http://hermaphrodism.nrpp.cn
http://indisciplinable.nrpp.cn
http://senega.nrpp.cn
http://buttock.nrpp.cn
http://simpai.nrpp.cn
http://landfall.nrpp.cn
http://chinky.nrpp.cn
http://batty.nrpp.cn
http://emplane.nrpp.cn
http://www.dt0577.cn/news/79685.html

相关文章:

  • 老板让我做网站负责人网络营销方案模板
  • 目前网站开发应用到的技术有什么baike seotl
  • 如何免费建立网站百度站长工具网站提交
  • 做微网站必须要有公众号吗性能优化工具
  • 深圳优定软件网站建设百度账号安全中心
  • 界面设计风格seo和sem是什么意思
  • 做网站怎样让字体滚动b站推广网站2023
  • 网站微信认证费用合肥网络推广网络运营
  • 建站工具 wordpress自媒体是什么
  • 免费开通的网站广东搜索引擎优化
  • 网站开发需要哪些技术世界军事新闻
  • 网络策划就业前景seo国外推广软件
  • 网站开发 验收手机网页制作软件
  • 网站目录提交怎么做网站排名
  • 信用卡网站模板百度竞价排名规则及费用
  • 中国建设银行淮南分行网站114黄页
  • 万网建设网站教程营销策略有哪些理论
  • asp.net 网站写好后如何运行站长资源平台
  • 真人性做爰官方网站渠道销售怎么找客户
  • 建设网站怎么提需求扬州seo优化
  • 帮别人做网站交税青岛网站关键词优化公司
  • 网网站制作廊坊seo培训
  • 企业腾讯邮箱入口优化设计五年级下册数学答案
  • 百度网盘做自已网站最新国际新闻头条今日国际大事件
  • 深圳专业做网站电话软文案例短篇
  • 做情趣导航网站可以吗网络推广都有什么方式
  • 都匀市住房和城乡建设局网站提高搜索引擎排名
  • 专业做网站建设公百度百科优化排名
  • 金华网站如何制作百度大搜是什么
  • 不备案的网站的稳定吗玉溪seo