C/C+常用的一些字符表示问题

一段代码记录所有 

#include "targetver.h"
#include"iostream"
#include <stdio.h>
#include <tchar.h>
#include < vector> 
#include <algorithm>
#include <string.h>
#include<windows.h>
using namespace std;
int main(int argc, char* argv[])
{
    //C语言中的宽字符
    setlocale(LC_CTYPE, "");//不这样是要乱码的 告诉编译器使用系统默认编码 编译器默认的是英文
    char x = '';//字符截断 本来这里中在A码下存的是 d6 d0 这里只存d6

    wchar_t x1 = L''; //宽字符占用两个字节
    wchar_t x2[] = L"中国";//加一个L 是使用UniCODE编码
    //printf("%c", x);
    //wprintf(L"%c", x1);
    //wprintf(L"%s", x2);

    char x3[] = "中国3";
    wchar_t x4[] = L"中国p中";
    //cout << strlen(x3); //输出5
    //cout << wcslen(x4);//输出4 U码中中英文都是2字节
    /************************************************************************/
    /* 宽字符复制用  wcscpy(y,y1);      单字符用strcpy(x,x1); 一般宽字符操都会比单字符多个W      
    char        wchar_t        //多字节字符类型   宽字符类型

    printf        wprintf        //打印到控制台函数

    strlen        wcslen        //获取长度

    strcpy        wcscpy        //字符串复制

    strcat        wcscat        //字符串拼接

    strcmp        wcscmp        //字符串比较

    strstr        wcsstr        //字符串查找

    */
    /************************************************************************/
    
    /************************************************************************/
    /*   win32中的宽字符  需要包括windows.h    
    (1) 字符类型            (2) 字符串指针

    char     CHAR             PSTR(LPSTR) 指向多字节字符串

    wchar_t  WCHAR             PWSTR(LPWSTR) 指向宽字符串

    宏   TCHAR                 宏  PTSTR(LPTSTR)
       其中TCHAR的意思是根据你的字符集决定你使用什么类型的字符串,多人开发建议使用这个     */
    /************************************************************************/



    /************************************************************************/
    /* 为字符串指针赋值:

    PSTR pszChar = "china";                //多字节字符

    PWSTR pszWChar = L"china";                //宽字符

    PTSTR pszTChar = TEXT("china");                //如果项目是ASCII的 相当于"china" UNICODE 相当于L"china"

                                                                     */
    /************************************************************************/
    MessageBoxA(0, "这里是A码", 0, 0);
    MessageBoxW(0, L"这里是宽字符BOX 前面加L", 0, 0);
    MessageBox(0, TEXT("根据项目字符集决定"), TEXT("标题"), MB_OK);//这个是通用的box 我试了试处理A码不能用 U码还是可以用的



    
    
    
}

 

posted @ 2020-03-12 16:27  乌拉乌拉!!!  阅读(262)  评论(0编辑  收藏  举报