许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  NX二次开发:数据类型转换详解

NX二次开发:数据类型转换详解

阅读数 4
点赞 0
article_banner

【NX二次开发 ——数据类型转换】

  • NX二次开发中常用的数据类型
  • char[] 类型 char* 类型 const char* 类型 string 类型 NXString 类型 NXstring和string转换 NXstring和char*转换 string和char*转换 string和char[]转换


NX  二次开发中常用的数据类型

在NX二次开发中,常用到的数据类型有NXString、string、const char*、Char*和Char[],在数据类型转换之前,我们最好能了解这些数据类型的意义

char[] 类型

char[] 是一个字符数组,在C语言中,由于不存在 “字符串” 这种数据类型,而字符串的本质也就是将一个个字符按照顺序串联起来;因而在C语言中实现字符串的功能通过将字符存入指定大小的字符数组中使用。

   由于字符数组在使用前必须要指定空间大小,并且指定后长度固定,无法修改,这样给使用过程中带来了很多的麻烦,目前已经被渐渐舍弃。

char* 类型

与char[]相比,char *具有很多的优点,首先这两种数据类型都可以对应一个字符串,比如:

char * a=”string1”;    //a是指向char变量的指针
char b[]=”string2”;   // b则是一个char数组

有C语言基础的朋友都知道,a,b都是指向存放字符串的首地址,因而使用时用法一样。 但是由于a是一个变量,因而a的值可以发生改变,大小也可以改变。因此,char*慢慢取代了char[]。

const char* 类型

const char* 使用const限定的char*类型,这是指向常量的指针,比如:

const char*p  = “string3”;

那么p的地址和值均不能被修改。const 限定的char*只可读,这样避免了用户在操作数据时不小心修改这个值。

string 类型

string是C++中的一个标准库类,可以表示可变长度的字符序列,其内部封装了庞大的操作函数和重写 运算符  ,极大提高了程序员开发效率。

NXString 类型

NXString是NX定义的一种字符串类,其中包含了与C++字符串数据类型的接口函数。

   NXString中的常用函数:

GetLocaleText() //返回本地支持编码模式的文本;返回值类型 const char*
GetText()//返回值用来初始化NXString对象,其余操作和string类似

NXstring和string转换

NXstring和string转换十分简单,直接赋值即可,例如:

   NXOpen::NXString Name =“坚持、努力”;

   string temp;

   temp = Name.GetLocaleText();

NXstring和char*转换

由于GetLocaleText()的返回值是const char*类型,因而,需要强制类型转换,例如:

NXOpen::NXString Name ="坚持、努力";
char* Mid;
Mid = (char*)Name .GetLocaleText();

string和char*转换

string和char*转换的方法有好几种,下面介绍常用的一种,例如:

string temp = "坚持、努力";
char *  Dion;
Dion = const_cast<char *>(temp.c_str());  // c_str()返回的类型为const char*,需要强制类型转换;
Dion = (char *)(temp.c_str());  //也可以实现

string和char[]转换

string和char*转换的方法有好几种,下面介绍比较方便的一种,例如:

char ch[];
string st="hello world";
strcpy(ch,st.c_str()); //string 到char[]



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空