如何从WCHAR数组中获取子字符串

编程入门 行业动态 更新时间:2024-10-22 13:30:11
本文介绍了如何从WCHAR数组中获取子字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个 WCHAR 的数组是这样的 WCHAR Path [ 256]; 所以我在我的函数getpath(Path)中传递了这个数组,它正在填充路径中的值,如下所示:// device / systemName / 所以我想从上面的字符串中只获得设备 我的代码在这里

I have one array of WCHAR is like this WCHAR Path[256]; so I'm passing this array in my function getpath(Path) and It's filling the value in path like this: //device/systemName/ So I want to get only device from above string My code is here

WCHAR *pDevName; int i = 0; int j = 0; while(Path[i] != NULL){ if(0 ==(wcscmp(Path, L"/"))) { //i = i + 2; ++i; continue; } else { pDevName[j] = Path[i]; ++i; ++j; if (0 == wcscmp(Path, L"/")){ break; } }

我的代码正在编译,但它不是从WCHAR数组返回给我的设备。它正在撤退// devicename / systemName /。它来自pDevName。 我对wcscmp()的比较有疑问。所以我的问题是如何比较/与剩余的wchar数组值。 P.S. :devicename可以是c:或xyz。 请帮助这对我来说非常紧急。

推荐答案

查看 wcscmp() [ ^ ];您的代码永远不会工作,因为您正在将完整路径与单个字符进行比较。你最好使用 wcschr() [ ^ ]查找分隔符字符,或 wcstok_s() [ ^ ]将您的路径分成其组成部分。 Look at the documentation for wcscmp()[^]; your code will never work because you are comparing a full path with a single character. You would be better using something like wcschr()[^] to find the separator characters, or wcstok_s()[^] to split your path into its constituent parts.

更多推荐

如何从WCHAR数组中获取子字符串

本文发布于:2023-10-27 00:03:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1531730.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   组中   WCHAR

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!