zoukankan      html  css  js  c++  java
  • AnsiString, String, char,char

    AnsiString 是一个类,String 是一个结构,char* 是一个指针 。String是Pascal的类型原型,因为C++中没有字符串数据类型的,因此使用char*来存储,char*必须是以‘/0'结尾的,否则不能按照C++的“字符串”来处理。AnsiString是为了兼容VCL中Object Pascal而写的一个类,其实这个类的内核处理还是ObjectPascal中的代码,AnsiString是自动分配内存的,并且是一个纯C++类, 和其它VCL类不一样,当声明一个AnsiString 的时候AnsiString本身只有一个指向另外内存的指针,其指向的内存才是真正存储字符串的位置,c_str()就是获取这个字符串地址的函数,但是 这个内存地址会根据AnsiString对象大小的改变而改变,就是说这个c_str()每一个返回的有可能不一样。 

    String在C++ Builder中和AnsiString是一样的,只是为了兼容Pascal中的String类型而作的typedefine而已。 

    AnsiString.c_str() 就是返回数据的字符串指针。 

    下面AnsiString ===>Char * 

         char * p; 

         AnsiString a = "asdf";     

         p = a.c_str();   

    接下来AnsiString ==>char 

         char p[64]; 

         AnsiString a; 

         strcpy(p,a.c_str()); 

    最后char ===> AnsiString 

         AnsiString a; 

         char p[25]= "asdf"; 

         a = (AnsiString)p; 

    unsigned char 轉成 AnsiString 

    unsugned char myKey[32]="XXX"; 

    (AnsiString)(Char *)myKey; 

  • 相关阅读:
    表的简单增删改查
    数据库基础入门语句
    exports与module.exports的区别
    Spring入门——简介
    Mybatis之动态SQL揭秘
    Mybatis的核心组成部分-SQL映射文件揭秘
    Mybatis框架简介、搭建及核心元素揭秘
    实战讲解:SSM+Maven开发APP信息管理平台-developer版
    OpenCV结构简介
    在Linux服务器上安装lxml
  • 原文地址:https://www.cnblogs.com/blogpro/p/11445998.html
Copyright © 2011-2022 走看看