找回密码
 立即注册
收起左侧

类型转换问题

6
回复
7488
查看
[复制链接]
累计签到:11 天
连续签到:1 天
来源: 2017-4-18 21:43:40 显示全部楼层 |阅读模式
2Qter豆
int  MainWindow::strtoHex(QString str,char* data){    int t,t1;    int rlen=0,len=str.length();
    for(int i=0;i<len;)    {        char l,h=str[i];//这里的  str  不能赋值给h 是为什么呢?     ...    }}
QT Creator编译器的问题描述是:cannot conver "QCharRef"to"char" in initialization可是在visual stdio 里是编译通过的啊!!

最佳答案

查看完整内容

你可以试一下
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2017-4-18 21:43:41 显示全部楼层
你可以试一下
  1. char h = str.at(i).totoLatin1;
复制代码
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2017-4-18 21:45:34 显示全部楼层
求大神帮助啊,格式没粘好,麻烦你们了
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2017-4-19 09:18:36 显示全部楼层
因为 QCharRef QString:perator[](int position) 返回类型和char不一样
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2017-4-19 11:33:13 显示全部楼层
shasidaran 发表于 2017-4-19 09:18
因为 QCharRef QString:perator[](int position) 返回类型和char不一样

谢谢你啊,这个问题解决了,还有个问题是:在visual stdio 2012 里
         char* dataOrdering[]={
       "fe fc 00 50 00 ",         
       NULL
         };
        string str= dataOrdering[0];
         cout<<str;
运行结果是  fe fc 00 50 00
可是在QT里为什么是 “m”呢???

回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2017-4-24 14:52:40 显示全部楼层
不会吧,另外建议在qt中用QString 或者 QStringList等功能类,问题会少很多
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2017-4-27 08:42:43 显示全部楼层
shasidaran 发表于 2017-4-24 14:52
不会吧,另外建议在qt中用QString 或者 QStringList等功能类,问题会少很多

问题已经解决啦,我用了QByteArray ,然后也转了字符串,就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了