2012-02-22 2 views
1

WideString을 콘솔에 표시하는 데 문제가 있습니다. 저는 빌더 C++과 C++에서 완전히 새로운 것입니다. 디버깅이 도움이 될 때 표시되는 헤더 나 값이 필요한지 확실하지 않습니다.콘솔에 WideString 변수 표시

wcout << s; 

"wchar 배열"대신 주소가 표시됩니다.

여기 내 코드입니다 :

//--------------------------------------------------------------------------- 
#include <iostream.h> 
#include <vcl.h> 
#include <string> 
#include <wstring.h> 
#pragma hdrstop 
//--------------------------------------------------------------------------- 

#pragma argsused 
int main(int argc, char* argv[]) 
{ 

    int a; 
    WideString s; 
    string str; 

    cout << "Enter a: "; 
    cin >> a; 
    //to read the return 
    cin.get(); 
    cout << "Enter str: "; 
    cin >> str; 
    //to read the return 
    cin.get(); 
    cout << "\n"; 
    s = L"HELLO"; 
    wcout << s; 
    cout << "\n\n"; 
    wcout << L"BYE"; 
    cout << "\n\nPress any key to continue..."; 
    cin.get(); 

    return 0; 

    } 
//--------------------------------------------------------------------------- 

그리고 그것은 출력 :

Enter a: 4 
Enter str: potato 

2fb0b4 

BYE 

Press any key to continue... 

답변

3

당신은 WideString이이 wcout을 통과하고 있습니다. WideString은 문자열이 아닌 와이드 문자를 포함하고 작동하는 전체 클래스입니다. WideString의 c_bstr 메소드를 사용하여 실제 문자열로 이동하십시오.

WideString str; 
str = L"HELLO"; 
wcout << s.b_cstr(); 
관련 문제