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

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[]
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值