编写函数读取文件中指定位置内容

要求,写一个函数,可以读一个文件里某行的指定位置的字符串

QString Read(QTextStream& ts,int line,int column=0)
{
//使用ts.readLine
//QString中的section函数
//文件内容见 文件内容格式.txt
}
/*文件内容格式.txt如下:
aaaaa bbbbb ccccc
1111 2222 333
ADFEASD PPPP FDEDSFE
文件相关解释:
每行中间间隔\t

window下换行用2个字符"\r\n"来实现,回车(return)换行(newline)

。二进制代码为0x0D,0x0A。Linux下只需要字符"\n"实现即可,换行(

newline),二进制代码为0x0A。*/


一、VS2005+qt环境
1.通过"项目->属性->链接器->输入->附加依赖项"添加静态库
对某个项目添加库:附加依赖项 :qt-mt338.lib
2.工具->选项->项目个解决方案->VC++目录 下添加静态库
对所有项目有效
二、程序调试:
在需要的行上点右键,选“插入断点”,然后点“启动”(F5)(方案要

配置成Debug,一般默认就是),程序就会在运行到设置断点的地方停

下来,然后点“逐过程”(F10),或“逐语句”(F11)
三、所写程序代码:

#include <qfile.h>
#include <qstring.h>
#include <qtextstream.h>
#include <iostream>
using namespace std;


QString Read(QTextStream& ts,int line=0,int column=0)
{
int index=0;
QString data;

if(index==line)
{ data =ts.readLine();}
else
{
while((!ts.eof())&&((index++)!=line))
{
data =ts.readLine();
}
data =ts.readLine();
}

QString s = data.section( "\t", column,column );
return s;
}

int main(int argc,char **argv)
{
QFile f1("D:/testfile/test/file.txt" );
if (! f1.open( IO_ReadOnly ) )
{
cout<<"打开文件错误!";
return 1;
}
QTextStream stream( &f1 );
QString ss= Read(stream,2,2);
printf("%s",ss.latin1());
f1.close();
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值