注册 登录
编程论坛 C++教室

求助,如何读取txt文件的前几行数据

heyyroup 发布于 2007-12-22 21:49, 4896 次点击
请问如何读取一个文件的前几行数据
文件名:实验数据说明及实现功能.txt
内容:.说明:
1、  地图区域:武汉市
文件名:武汉实习数据.usr
2、分类代码:
          代码          名称

          30000         控制点
          10000         图廓点
          10001         铁路
          10003         汽渡虚线
          10004         主要道路
          20001         码头
          20002         铁路中转站
          20003         河流、湖泊
          20004         居民地

3、代码说明:
          分类代码第一个字符为1,表示线目标为2,表示面目标

4、控制点顺序:
          第一点:左上角     第二点:右上角
          第三点:右下角     第四点:左下角

   控制点的理论值(人为规定x,y):
左上角:23.50    37.40
右上角  30.50    37.40
右下角  30.50    32.40
5、功能
(1)    设计地图数据库结构
(2)    建立目标检索的方法及程序实现;
(3)    空间数据的浏览显示操作:包括数据的放大、缩小、全屏、漫游等操作;
(4)    空间数据的查询检索功能:包括根据目标ID查找地物(目标索引),按地物类别分层查询和显示操作(分层索引),以及鼠标点选地物查询(空间索引)。

我想在屏幕上显示第1,第2点的内容,应该怎么写代码呢,

请大家指点
5 回复
#2
HJin2007-12-23 04:00
seems this is a homework assignment.

I would guess you want to do it yourself.

If you use C, you could use fscanf(), fopen(), etc
If you use C++, you could use C++ I/O streams.
#3
heyyroup2007-12-23 09:24
实验报告要求的就是打开整个文件,并将它显示在屏幕上。对于数据文件,读取其中的数据(数据文件不是这个),这个我已经实现了。

至于读取其中的前几行,是我自己想的。我想知道的是如何读取一行或者是多行。我以前读取文本文件中的一行的时候是在每行的结尾设置一个特殊字符(比如-9999.0),以便做相应的处理。但是这里面没有做这样设置怎么办?

文件的结尾是EOF,那每行,甚至每段的结尾标记是什么呢?疑惑中。不是想让大家帮我做作业。

HjIN
#4
aipb20072007-12-23 10:40
把不相关的数据都放在一个文件里?
我觉得一个文件里放的应该都是同一类的数据,要不同的话,除非你事先知道数据量,否则不好区分。
#5
天使梦魔2007-12-23 12:41
#include <fstream>//这个来读,对文件的输入输出很强大.
ifstream in("map.txt");//打开通道
string txt;
getline(txt,in)//函数的第3个参数是以什么标志结束,不设的话是回车,也就是\n
//现在txt保存了第一行数据.
getline(txt,in)
//现在TXT被清空,保存了第2行数据.

在使用的时候可以用循环来读入.
#6
heyyroup2007-12-23 12:52
谢谢楼上的兄弟,按照你的方法搞定了。
不过getline(in,txt),而不是getline(txt,in)
1