这进我在把一段VC的代码慢慢转成VB的程序,其中遇到了一些问题char VolumeName[] = "\\\\.\\ :";
VolumeName[4] = "XX";我想问VolumeName是得出来什么值?VolumeName[4]呢?VolumeName是不是得 "\\\\XX\\ :" 或是 "\\\\X\\ :" 或 "\\\\XX\ :" 或 "\\\\.XX\\ :"VolumeName[4]呢?他又是什么值?还请各位懂VC的朋友指点指点。
VolumeName[4] = "XX";我想问VolumeName是得出来什么值?VolumeName[4]呢?VolumeName是不是得 "\\\\XX\\ :" 或是 "\\\\X\\ :" 或 "\\\\XX\ :" 或 "\\\\.XX\\ :"VolumeName[4]呢?他又是什么值?还请各位懂VC的朋友指点指点。
VolumeName的值应该是这样的,然后VolumeName不能再改变维数了,VolumeName[0]='\\' // 注意: "\" 是是转意符号 2个 "\"代表 一个 "\"
VolumeName[1]='\\'
VolumeName[2]='.'
VolumeName[3]='\\'
VolumeName[4]='\0' //结束符号
DriveLetter是一个Char变量。如果DriveLetter里是"O:"
那么就是说 VolumeName 里的实际字符是 "\\.\O:" 对不对?
VolumeName[0]='\\' // 注意: "\" 是是转意符号 2个 "\"代表 一个 "\"
VolumeName[1]='\\'
VolumeName[2]='.'
VolumeName[3]='\\'
VolumeName[4]='\0' //结束符号
最后的 " :"去哪了呢?
而且 VolumeName[4]='\0' 是从哪来的?
char VolumeName[] = "\\\\.\\ :";
VolumeName[4] = "H:";VolumeName等于什么呢?
1、"\\.\H:"
2、"\\.\H"
3、"\\.\H::"
4、"\\.\H :"
...是什么?
VolumeName[4]="H:"; \\可以这样赋值吗,这里是字符变量,是错误的,可改为'H'
这样VolumeName就等于"\\.\H"
呵呵,我学C++时间也不长,按照我的理解是这样的,若不对,请高手指正,
按道理说因该是这样吧
VolumeName[0] = "\\" // 就是"\"
VolumeName[1] = "\\" // 就是"\"
VolumeName[2] = "." // 就是"."
VolumeName[3] = "\\" // 就是"\"
VolumeName[4] = " :" // 就是":"结果:VolumeName =“\\.\:”
对不对?
对,不过这是VB中的写法。
C++中的"\\\\.\\ :"等价与VB中的“\\.\:”
因为在C++中 \ 是转义符,所以用 \\ 代表实际的\
VB中没有转移符,所以直接写 \