zoukankan      html  css  js  c++  java
  • c++,windows中的字符问题

    string与char*的转换方法

    string a;

    char *b=a.c_str();

    string a=new String(b);

    a=b;

    LPCWSTR是unicode的字符串,LPCSTR是ascll字符串

    你可以使用Microsoft在ATL里面提供的宏来进行转换

    #include <atlbase.h>

    USES_CONVERSION;
    LPCWSTR pw = T2W("Hello,world!"); // tchar -> wchar

    LPCTSTR pt = W2T(L"Hello,world!"); // wchar -> tchar
    等等.

    CString头文件#include <afx.h>

    string头文件#include <string.h>


    1CStringchar *

    CString cstr;

    char *p =(LPSTR)(LPCTSTR)cstr;

    2string CString
    CString.format(”%s”, string.c_str());

    c_str()确实比data()要好.

    3char CString
    CString.format(”%s”, char*);

    4char string
    string s(char *);

    只能初始化,在不是初始化的地方最好还是用assign().

    5string char *
    char *p = string.c_str();

    6CString string
    string s(CString.GetBuffer());

    GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.

    ―――――――――――――――――――――

    C++标准函数库》中说的
    有三个函数可以将字符串的内容转换为字符数组和C―string
    1data(),返回没有”/0“的字符串数组
    2c_str(),返回有”/0“的字符串数组
    3copy()

    ―――――――――――――――――――――


    CStringintchar*char[100]之间的转换--

    1CString互转int

    (1)将字符转换为整数,可以使用atoi_atoi64atol
    (2)将数字转换为CString变量,可以使用CStringFormat函数。如
        CString s;
        int i = 64;
        s.Format(”%d”, i)
    Format函数的功能很强,值得你研究一下。

    voidCStrDlg::OnButton1()
    {
       // TODO: Add your control notificationhandler code here
       CString
       ss=”1212.12″;
       int temp=atoi(ss);
       CString aa;
       aa.Format(”%d”,temp);
       AfxMessageBox(”var is ” + aa);
    }

    sart.Format(”%s”,buf);


    2CString互转char*

    CString strtest;
    char * charpoint;

    ///char * TO cstring
    charpoint=”give string a value”;
    strtest=charpoint;

    ///cstring TO char *
    charpoint=strtest.GetBuffer(strtest.GetLength());

    标准C里没有string,char*==char []==string

    可以用CString.Format(”%s”,char *)这个方法来将char *转成CString。要把CString转成char*,用操作符(LPCSTRCString就可以了。


    3CString转换 char[100]

    ///char[100] TOcstring

    char a[100];
    CString str(”aaaaaa”);

    ///cstring TO char[100]

    strncpy(a,(LPCTSTR)str,sizeof(a));

  • 相关阅读:
    dedecms 5.7 站点文件从本地子目录上传到远程根目录后找不到模板的解决方案
    Dedecms实现"文章标题2级栏目1级栏目网站名"
    织梦安装在子目录会出现问题的解决技巧集合
    ASP.NET三层架构中数据层数据访问类部分代码
    织梦DEDECMS缩短URL路径长度的方法
    CSS各种属性全集
    css和js引用图片路径
    ASP.Net中FileUpLoad控件内容清空
    WampServer的配置
    asp.net 中的 callback
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/3891288.html
Copyright © 2011-2022 走看看