无法从char三重指针中获取或打印wstring元素

时间:2015-11-24 14:08:50

标签: c++ linux gcc

我可以通过以下代码获得一些帮助吗?

int main()
{
    char ***dir= new char**[ 256 ];

    static  char    *sDir[2];
    static  char    sDList[2][256];
    wstring gResourcePath = L"/home/cri";

    for (int i=0; i<2; i++)
    {
        sDir[i] = sDirList[i];
    }


    wstring temp1 = gResourcePath + L"/Font";
    sprintf( sDList[0], "%ls", temp1.c_str()) ;

    wstring temp2 = gResourcePath + L"/CMap";
    sprintf( sDList[1], "%ls", temp2.c_str()) ;


    *dir= sDir;

    for (int i=0; i<2; i++)
    {
        wcout << dir[ i ] << "\n";
    }



    return 0;
}

我希望能够从目录中提取元素:

/home/cri/Dir1

/home/cri/Dir2

我得到的输出是:

0x602400

0

我在Linux上使用Eclipse CDT和GCC 4.4

1 个答案:

答案 0 :(得分:0)

wcout << *dirListP[i] << "\n";

只需在*中添加wcout即可。没有它,你正在访问char **的地址而不是它的值。