QT 读取文本,一行一行读 ,并且把每一行读取出的文字存放在两个变量里。

比如有个文本文件中这样写若干行"101110=第一个"(不带引号)类似的数据,想用QT写个程序,把这个文本的等号前后两部分分别读取出来存在不同的变量里,这个要怎么写啊?写... 比如有个文本文件中这样写若干行 "101110=第一个"(不带引号)类似的数据,想用QT写个程序,把这个文本的等号前后两部分分别读取出来存在不同的变量里,这个要怎么写啊?写了半天还是没调试通。 展开
 我来答
MyAppleKnows
推荐于2016-08-15 · TA获得超过695个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:414万
展开全部
  1. 使用QFile和QTextStream读取文本文件,可以按行读取。例子网上很多。

  2. 读取一行后,调用QString::split函数,以=为分隔符,将储存每一行的QString变量分隔成前后两部分,返回值在一个QStringList中。

  3. 将前后两部分按照你要求转换成相应类型即可,QString有很多to***成员就是用来类型转换的。

 

详细信息打开QtAssist查询,官方文档相当详细。

西瓜皮上的蚂蚁
2013-09-05 · 超过27用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:62.9万
展开全部
循环读取每一行,然后 每行用split("=") 区别开 两个数据;然后再赋值给你的变量!

如果你连读文件都不会的话,那就问度娘吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heikefirst
推荐于2018-09-29 · TA获得超过104个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:124万
展开全部
QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
QString line = in.readLine();

你可以试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
工程师业余学习
推荐于2017-12-25
知道答主
回答量:12
采纳率:0%
帮助的人:2.9万
展开全部
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
return;
}

QTextStream in(&file);
in.setCodec("GBK");
while (!in.atEnd())
{
QString line = in.readLine();
line = line + "\n";
data = data + line;
}
file.close();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式