• 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码还是可以用的
    
    
    
        
        
        
    }
  • 相关阅读:
    MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端
    pathlib:优雅的路径处理库
    MySQL索引连环18问
    Mysql 百万级数据迁移实战笔记
    强大的Json解析工具 Jsonpath 实战教程
    JavaScript 中的 Var,Let 和 Const 有什么区别
    【前端安全】从需求分析开始,详解前端加密与验签实践
    vue3开发企业级生鲜系统项目
    mysql随笔
    shiro相关Filter
  • 原文地址:https://www.cnblogs.com/xuexidememeda/p/12470095.html
Copyright © 2020-2023  润新知