阅读:2685回复:9
问一个strcpy的句子的意思
strcpy(deviceName, \"\\\\\\\\.\\\\\");
strcpy(deviceName + sizeof(\"\\\\\\\\.\\\\\") - 1, rootHubName); 请问这个是什么意思? 请各位大虾不吝赐教 [编辑 - 5/8/05 by keta0123] [编辑 - 5/8/05 by keta0123] |
|
沙发#
发布于:2005-05-08 12:02
后面哪个用来代替STRCAT的
|
|
|
板凳#
发布于:2005-05-08 15:41
请楼上说明百点,比如第二句
strcpy(deviceName + sizeof(\"\\\\\\\\.\\\\\") - 1, rootHubName); 呵呵,还有STRCAT是什么意思 |
|
地板#
发布于:2005-05-08 20:55
strcpy(deviceName, \"\\\\\\\\.\\\\\");
strcpy(deviceName + sizeof(\"\\\\\\\\.\\\\\") - 1, rootHubName); 请问这个是什么意思? 请各位大虾不吝赐教 关于这个问题, 在下是这样看的: windows函数strcpy的实现只有两个参数, 那么这里 deviceName + sizeof(\"\\\\\\\\.\\\\\") - 1 是第一个参数, rootHubName 是第二个参数, 意指将 rootHubName 中存储的字符串拷贝到指针空间 deviceName 中, deviceName 是一个已经初始化的指针, 也就是内存中一块存储单元的首地址, 以这个首地址为基准, 再加上 sizeof(\"\\\\\\\\.\\\\\") - 1 个单元的偏移量, 比方说, 如果deviceName的地址是0, sizeof(\"\\\\\\\\.\\\\\") - 1 算出来是 8(C风格的字符串后面有一个\"0\\\"), 这样, 就把rootHubName中的内容拷贝到首地址为 8 的连续空间里了.... [编辑 - 5/8/05 by williamhe] |
|
地下室#
发布于:2005-05-09 10:12
谢谢各位大虾指点,尤其是williamhe,呵呵
|
|
5楼#
发布于:2005-05-09 10:17
我倒!
sizeof(\"\\\\\\\\.\\\\\") - 1是4!!! C风格的字符串后面有一个\'\\0\'!!! 楼主,你应该自己看看MSDN或C书籍中对strcpy、strcat的介绍。 |
|
|
6楼#
发布于:2005-05-09 10:53
查帮助便可以了
|
|
7楼#
发布于:2005-05-09 12:42
不好意思哈, sizeof(\"\\\\\\\\.\\\\\") -1 的确是 4, 我的错...
|
|
8楼#
发布于:2005-05-09 13:55
呵呵, :P知道了, ;)
|
|
9楼#
发布于:2007-07-06 10:15
williamhe ,thank u ,i know it
|
|