CString对象总是返回指针值

时间:2016-03-21 07:16:26

标签: c++ mfc

在visual studio 2015环境中,我刚刚制作了简单的Win32控制台应用程序项目来研究MFC。 (另外,我检查在项目向导过程中添加MFC的公共头文件)

这是这个项目的主要部分..

#include "stdafx.h"
#include "Practice02.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

CWinApp theApp;

using namespace std;

int main()
{
    int nRetCode = 0;

    HMODULE hModule = ::GetModuleHandle(nullptr);

    if (hModule != nullptr)
    {
        if (!AfxWinInit(hModule, nullptr, ::GetCommandLine(), 0))
        {
            wprintf(L"error: sample\n");
            nRetCode = 1;
        }
        else
        {
            CString temp(L"Hello");
            cout << temp << endl;
        }
    }
    else
    {
        wprintf(L"Fatal Error: GetModuleHandle failure\n");
        nRetCode = 1;
    }

    return nRetCode;
}

我的目的是制作一个打印CString对象的简单程序,包含&#34; hello&#34; cmd屏幕上的值。

然而,在启动这个项目之后,我只看到了这个对象的地址值。 (EX.0039841或003913E1等......)

我应该在哪里修改此代码以打印CString对象的实际值?

1 个答案:

答案 0 :(得分:3)

使用以下内容:

std::wcout << temp.GetString();