这进我在把一段VC的代码慢慢转成VB的程序,其中遇到了一些问题char    VolumeName[] = "\\\\.\\ :";
VolumeName[4] = "XX";我想问VolumeName是得出来什么值?VolumeName[4]呢?VolumeName是不是得 "\\\\XX\\ :" 或是 "\\\\X\\ :" 或 "\\\\XX\ :" 或 "\\\\.XX\\ :"VolumeName[4]呢?他又是什么值?还请各位懂VC的朋友指点指点。

解决方案 »

  1.   

    晕 上面的VolumeName[4] = "XX";语句有错, "XX" 是一个字符串 不能这样赋值的,使用strcat 来连接吧
      

  2.   

    执行 这一句后 char    VolumeName[] = "\\\\.\\ :";
    VolumeName的值应该是这样的,然后VolumeName不能再改变维数了,VolumeName[0]='\\' // 注意: "\" 是是转意符号  2个 "\"代表 一个 "\"
    VolumeName[1]='\\'
    VolumeName[2]='.'
    VolumeName[3]='\\'
    VolumeName[4]='\0' //结束符号
      

  3.   

    其实原来的VolumeName[4] = DriveLetter;
    DriveLetter是一个Char变量。如果DriveLetter里是"O:"
    那么就是说 VolumeName 里的实际字符是 "\\.\O:" 对不对?
      

  4.   

    还有,按你的说法 "\\\\.\\ :" 
    VolumeName[0]='\\' // 注意: "\" 是是转意符号  2个 "\"代表 一个 "\"
    VolumeName[1]='\\'
    VolumeName[2]='.'
    VolumeName[3]='\\'
    VolumeName[4]='\0' //结束符号
    最后的 " :"去哪了呢?
    而且 VolumeName[4]='\0' 是从哪来的?
      

  5.   

    有人告诉我吗?
    char    VolumeName[] = "\\\\.\\ :";
    VolumeName[4] = "H:";VolumeName等于什么呢?
    1、"\\.\H:"
    2、"\\.\H"
    3、"\\.\H::"
    4、"\\.\H :"
    ...是什么?
      

  6.   

    Volumename[]="\\\\.\\"; \*定义为字符数组,这里的\\\\.\\;等价于5个字符,分别为\ \ . \ 和:5个字符*\
    VolumeName[4]="H:";  \\可以这样赋值吗,这里是字符变量,是错误的,可改为'H'
    这样VolumeName就等于"\\.\H" 
    呵呵,我学C++时间也不长,按照我的理解是这样的,若不对,请高手指正,
      

  7.   

    char    VolumeName[] = "\\\\.\\ :";
    按道理说因该是这样吧
    VolumeName[0] = "\\"   //  就是"\"
    VolumeName[1] = "\\"   //  就是"\"
    VolumeName[2] = "."    //  就是"."
    VolumeName[3] = "\\"   //  就是"\"
    VolumeName[4] = " :"   //  就是":"结果:VolumeName =“\\.\:”
    对不对?
      

  8.   

    VolumeName =“\\.\:”
    对,不过这是VB中的写法。
    C++中的"\\\\.\\ :"等价与VB中的“\\.\:”
    因为在C++中 \ 是转义符,所以用 \\ 代表实际的\
     VB中没有转移符,所以直接写 \