要求,写一个函数,可以读一个文件里某行的指定位置的字符串
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();
}
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();
}