• 2239阅读
  • 2回复

有关 char *使用的问题 [复制链接]

上一主题 下一主题
离线ceiwei
 

只看楼主 倒序阅读 楼主  发表于: 2017-02-23
我这里加载了一个C库,使用其中一个函数输入需要使用到const char* 但我使用了却得不到理想的结果,请各位看看。
QString addNetValueQstr=ui->netAddressLineEdit1->text();//获取网络地址,QString类型    
QByteArray addNetValueQBA=addNetValueQstr.toLatin1();  

char *addNetValuecharP1=addNetValueQBA.data();    
addNetValuecharP=addNetValuecharP1;

     mb = modbus_new_tcp("127.0.0.1", 502);//就是这一句如果直接使用把"127.0.0.1"用addNetValueQBA.data()代替就没有问题但是我如果使用 mb = modbus_new_tcp(addNetValuecharP1, 502);就不行,


我用debug看了addNetValuecharP1显示的也是127.0.0.1,如果使用*addNetValuecharP1就在编译的时候显示错误modbus_new_tcp这个函数是这样的modbus_t* modbus_new_tcp(const char *ip, int port),按理说我用addNetValuecharP1应该是可以的啊,
离线15145093145

只看该作者 1楼 发表于: 2017-02-23
1:  *addNetValuecharP1  = char 那肯定错误
2  你试下toLocalbBit
3 你确认你没使用 QString.tolatin1().data() 这样的错误语句
4 你的错误是指执行结果还是编译
离线kaon

只看该作者 2楼 发表于: 2017-02-23
你不是要const char *么,用bytearray的constdata 啊
快速回复
限100 字节
 
上一个 下一个