继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

wstring问题

holdtom
关注TA
已关注
手记 1842
粉丝 240
获赞 991


mac版:

//

//  main.m

//  test

//

//  Created by haidrgon on 2018/12/20.

//  Copyright © 2018 haidrgon. All rights reserved.

//

#import <Foundation/Foundation.h>

#include<iostream>

#include <string>

#include <stdlib.h>

#import<cwchar>

#import<wchar.h>

using namespace std;

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        // insert code here...

        wchar_t* temp=L"abc123你我他";

        wstring wstr = temp;

        wprintf(L"%s\n", wstr.c_str());

       // wcout.imbue(locale("chs"));

        wcout<<wstr<<endl;

        NSData *data = [NSData dataWithBytes:wstr.data() length:sizeof(wchar_t) * wstr.size()];

        NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF32LittleEndianStringEncoding];

        NSLog(@"str %@", str);

        NSLog(@"Hello, World!");

        cout<<[str UTF8String]<<endl;

    }

    return 0;

}

wstring问题

linux版

#include<iostream>

#include<string>

#include<locale>

using namespace std;

int main()

{

    wstring wstr=L"世界你好!";

    locale loc("zh_CN.UTF-8");

    locale::global(loc);

    wcout<<wstr<<endl;

    return 0;

}

wstring问题

win版:

    printf("argv[1]%s\n", argv[1]);

        int len = MultiByteToWideChar(CP_ACP, 0, argv[1], strlen(argv[1]), NULL, 0);

        m_wchar = new wchar_t[len + 1];

        char2wchar(argv[1], m_wchar);

        setlocale(LC_ALL, "chs");//#include <locale.h>

        wprintf(L"argv[1]%s\n", wstring(m_wchar).c_str());

        wprintf(L"argv[1]%s\n",m_wchar);

        printf("argv[1]%ws\n", m_wchar);

wstring问题

©著作权归作者所有:来自51CTO博客作者土匪猿的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP