c++builder 2010与bcb6 有何不同

发布网友

我来回答

1个回答

热心网友

  主要是AnsiString和UnicodeString

  6里面的String默认是AnsiString,2010里默认是UnicodeString,并且这2个类的c_str()函数返回的不是同一个类型的数据

  我的建议是用到c_str函数的时候,强制转化为AnsiString,比如,原来是
  String abc
  strncpy(buf,abc.c_str());

  在2010里写成:
  strncpy(buf,AnsiString(abc).c_str());

  最主要的就是Unicode的问题,比如Application->Messagebox里面的参数如果直接写字符串的话,字符串前面要加L,比如 L"错误提示"

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com