第一篇文章

简介: FIRST ARTICLE.

This is first article, just for test this blog.

从下面的插入代码可以看出,这个代码插入的功能,很是不足。Tab 键被滤掉了。只能用空格进行缩进。

#include <stdio.h>
void ParseHardwareID(LPCTSTR pHardwareID, LPTSTR pVID, int cchVID, LPTSTR pPID, int cchPID);
int main(int argc, char* argv[])
{
    //main 函数里是用 4 个空格进行缩进的。
    TCHAR VID[8], PID[8];

    ParseHardwareID(_T("USB\VID_046D&PID_0826&REV_0010&MI_02"), 
        VID, _ARRAYSIZE(VID), PID, _ARRAYSIZE(PID));

    _tprintf_s(_T("VID: %s, PID: %s;\n"), VID, PID);

    printf("你们觉得这里好用吗?");
    return 0;
}

void ParseHardwareID(LPCTSTR pHardwareID, LPTSTR pVID, int cchVID, LPTSTR pPID, int cchPID)
{
bool bVIDFound = false;
bool bPIDFound = false;
const TCHAR *p1 = pHardwareID;
const TCHAR *pStopPos = NULL;
int cchCopy = 0;
while(*p1)
{
if(!bVIDFound && _tcsnicmp(p1, _T("VID_"), 4) == 0)
{
pStopPos = p1 + 4;
while(*pStopPos != 0 && *pStopPos != _T('&'))
{
++pStopPos;
}
cchCopy = min(cchVID - 1, pStopPos - p1 - 4);
_tcsncpy_s(pVID, cchVID, p1 + 4, cchCopy);

//append null-terminator;
pVID[cchCopy] = 0;

p1 = pStopPos;
bVIDFound = true;
continue;
}

if(!bPIDFound && _tcsnicmp(p1, _T("PID_"), 4) == 0)
{
pStopPos = p1 + 4;
while(*pStopPos != 0 && *pStopPos != _T('&'))
{
++pStopPos;
}
cchCopy = min(cchPID - 1, pStopPos - p1 - 4);
_tcsncpy_s(pPID, cchPID, p1 + 4, cchCopy);

//append null-terminator;
pPID[cchCopy] = 0;

p1 = pStopPos;
bPIDFound = true;
}
if(bVIDFound && bPIDFound)
break;
++p1;
}
if(!bVIDFound) pVID[0] = 0;
if(!bPIDFound) pPID[0] = 0;
}


我的博客园博客:    http://www.cnblogs.com/hoodlum1980

我的知乎个人主页: hoodlum1980


-- hoodlum1980
目录
相关文章
|
存储 Unix Linux
Linux / Mac 常用命令,看这一篇就够了!(上)
Linux命令是在命令行(CLI)上运行的程序。命令行是接受文本行并将其处理成计算机指令的界面。任何图形用户界面 (GUI) 都是命令行程序的抽象。通过 GUI 进行多步骤处理的任务有时候可以通过在命令行中键入命令在几秒钟内完成。学习基本的命令行有助于提升工作效率。 相信很多小伙伴会使用 Mac 进行开发,由于 Mac 的系统是基于unix的,所以 Mac 终端的一些命令与linux通用的。下面列举的多数命令是可以在Mac中使用的。
934 0
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的超市货品信息管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的超市货品信息管理系统附带文章和源代码部署视频讲解等
92 5
|
9月前
|
人工智能 芯片
北京市经开区对首次通过国家级大模型备案一次性奖励100万!
北京市为推动人工智能产业发展,出台了多项政策支持大模型及AI企业。经济技术开发区提供算力服务补贴(最高2000万)、数据集建设支持(最高200万)等;经信局推出算力券补贴(最高200万/年)。海淀区对通用和垂直大模型给予资金补贴(最高1000万)。石景山区则提供算力建设、应用、房租等多方面补贴(最高1000万),并强调智算中心建设。这些政策有效降低了研发成本,促进了技术创新与产业升级,助力北京在全球AI领域领先。
|
12月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
3950 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
监控 前端开发 数据库连接
Zabbix 5.0 LTS的web界面安装及修改zabbix web管理员的默认密码
这篇文章是关于如何安装Zabbix 5.0 LTS的web界面以及如何修改Zabbix web管理员默认密码的教程。
730 1
|
关系型数据库 MySQL 数据库
MySQL数据库-关联删除
MySQL数据库-关联删除
85 0
|
消息中间件 Kafka Shell
docker安装zk和kafka实战笔记
docker安装zk和kafka实战笔记
295 0
docker安装zk和kafka实战笔记
|
Python
抽卡程序模拟
抽卡程序模拟
301 0
|
Java 编译器 C语言
【Java SE】类和对象(上)
从本期开始,欢迎各位正式开始面向对象编程,Java 一门纯面向对象编程的语言,在它的世界里,一切皆为对象,面向对象和面向过程其实都是一种解决问题的思路,而面向对象主要是各个对象之间互相交互去完成一件事情。
【Java SE】类和对象(上)
ts重点学习33-类型别名
ts重点学习33-类型别名
178 0
ts重点学习33-类型别名