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

标签 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

最佳答案

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

只需在wcout 中添加一个*。没有它,您访问的是 char** 的地址而不是它的值。

关于c++ - 无法从 char 三重指针获取或打印 wstring 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895791/

相关文章:

linux - 脚本从终端运行,而不是 cron。我需要对此脚本进行哪些编辑?

linux - Ffmpeg 和 Xing header - iTunes 问题和持续时间问题

c++ - 模板嵌套私有(private)类作为 friend

linux - gcc的线程本地存储可以跨线程共享缓存线吗?

c++ - 将枚举成员分配给 void 指针?

c++ - Xcode 7 不使用 C++ 框架构建项目

c++ - 为什么聚合结构可以用大括号初始化,但不能使用与大括号初始化相同的参数列表来放置?

regex - 帮助 shell 脚本 - 重命名目录中的文件名(删除特殊字符)?

c++ - 跟踪 undefined reference

c++ - 修改/访问矩阵内容 C++