门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
数据处理
›
在Qt中使用algorithm出现问题
发布主题
返回列表
在Qt中使用algorithm出现问题
1
回复
3707
查看
[复制链接]
xiongxiong
当前离线
积分
144
xiongxiong
累计签到:108 天
连续签到:1 天
来源:
2015-5-30 14:00:33
显示全部楼层
|
阅读模式
马上注册,查看详细内容!注册请先查看:
注册须知
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
这是在做编译原理实验,写界面时遇到的问题。
问题是这样的:
我在QTextEdit中,输入一些内容(也就是程序的源代码)
比如想这样:
#include <iostream>
using namespace std;
int main()
{
return 0;
}
复制代码
然后从QTextEdit中通过toplaintext().split('\n')获取QTextEdit中的每一行,并保存到一个QStringList中,然后将QStringList中的字符串转化为c++支持的string
string oneline;
oneline=qstringlist[0].tostdstring;
复制代码
然后从oneline中 分离出单词,比如分离出了一个using,然后在关键字列表(关键字列表是用stl中的list保存的,保存的内容为字符串)里用find函数查找是否有using,结果发现找不到,但是关键字列表里确实有Using这个单词,而且源码在vs2012里面跑,是可以找到的,但是移植到Qt用相同的方法就找不到了。请问一下这个怎么解决??
我觉得出错的原因可能在从QString转换到string,转换过程中,某些导致字符编码什么的不一样所以在list中找不到了
回复
使用道具
举报
xiongxiong
当前离线
积分
144
xiongxiong
累计签到:108 天
连续签到:1 天
2015-5-30 14:02:30
显示全部楼层
查找的时候是这样查找的;
temp保存这分离出来的单词,是一个字符串类型
list<string>::iterator it=std::find(KeyWordList.begin(),KeyWordList.end(),temp);
if(it!=KeyWordList.end()){
newdata.wordtype=1;
newdata.type="关键字";
}
else{
newdata.wordtype=2;
newdata.type="标识符";
}
复制代码
回复
支持
反对
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了