24小时热门版块排行榜    

查看: 1586  |  回复: 12

xiaomm09

金虫 (小有名气)

[求助] 请教一个C++读文件的问题,

最近用C++写一段读文件的代码,遇到2个问题:
1)如果开头的几行不需要读写,该怎么跳过?
2)如果文件的格式固定(见附件),每行中的数字占的宽度一样,如
AAAA           1       09.0000003.000000     0.0       0               0        
AAAA           2       012.00000          0.0     0.0       0               0        
AAAA           3       06.000000          0.0     0.0       0               0
上面几行,每一行8个数字,但第3、4、5个数字中间无空格,即连在一起,该怎么处理?以第一行为例,8个数字分别为 AAAA             1       0    9.000000   3.000000     0.0       0         0。
这个问题困扰了好几天了,请大家指教,先谢谢了,
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

追求完美!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

heyzol

金虫 (正式写手)

请教一个C++读文件的问题,

如果想跳过n行的话,执行n次getline就行了
小木虫:沙发+99,金币+99,恭喜抢个沙发,再给个红包
9楼2013-11-27 14:28:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cjc5367

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
开头几行不读写:设置一个计数变量,每读一行加一,当到指定行数时读写
2楼2013-11-26 22:43:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaomm09

金虫 (小有名气)

引用回帖:
2楼: Originally posted by cjc5367 at 2013-11-26 22:43:49
开头几行不读写:设置一个计数变量,每读一行加一,当到指定行数时读写

谢谢。
第一个问题好像原来讨论过,就是让这几行跑空。

第二个问题呢,有好的方法吗?
追求完美!
3楼2013-11-26 23:04:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

cjc5367

铁虫 (小有名气)

【答案】应助回帖

如果数据的宽度一样,第二个问题可以先把每行读取完后,存放为一个string类型,再对其进行split,再对split后的第三个数据进行substring读取
4楼2013-11-26 23:12:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaomm09

金虫 (小有名气)

引用回帖:
4楼: Originally posted by cjc5367 at 2013-11-26 23:12:00
如果数据的宽度一样,第二个问题可以先把每行读取完后,存放为一个string类型,再对其进行split,再对split后的第三个数据进行substring读取

谢谢,
暂时也是这样处理的,strg.substr(0, 7)。。。。
好像不能像fortran那样的切片功能?直接strg[0:7],strg[8:15].。。
用read,write 或指针 这些功能 是不是会更好些?
追求完美!
5楼2013-11-26 23:20:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cjc5367

铁虫 (小有名气)

引用回帖:
5楼: Originally posted by xiaomm09 at 2013-11-26 23:20:44
谢谢,
暂时也是这样处理的,strg.substr(0, 7)。。。。
好像不能像fortran那样的切片功能?直接strg,strg.。。
用read,write 或指针 这些功能 是不是会更好些?...

很长时间不用c++了,具体string的函数都忘了,能解决就行啊
6楼2013-11-26 23:44:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nlyang

禁虫 (著名写手)

感谢参与,应助指数 +1
本帖内容被屏蔽

7楼2013-11-27 09:02:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaomm09

金虫 (小有名气)

引用回帖:
7楼: Originally posted by nlyang at 2013-11-27 09:02:03
这真的是一个非常简单的问题,呵呵。
第一个问题就是直接路过,用一个for循环即可。
至于第二个问题,其实就是一个处理规则的问题,从你所给出的文件来看,3,4,5的三个数字,似乎有时候粘在一起,有的时候又没有 ...

楼上说的对,3、4、5的三个数字,有时候粘在一起,有的时候又没有在一起,但不管如何,每个数字占的宽度都一样,即8位。
数据处理完后,会输出到文本中。

具体如何操作?
追求完美!
8楼2013-11-27 10:01:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nlyang

禁虫 (著名写手)

本帖内容被屏蔽

10楼2013-11-27 21:28:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaomm09 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 梁成伟老师课题组欢迎你的加入 +8 一鸭鸭哟 2026-03-14 9/450 2026-03-16 17:35 by 沐霖12138
[基金申请] 今年的国基金是打分制吗? 50+3 zhanghaozhu 2026-03-14 3/150 2026-03-16 17:07 by 北京莱茵润色
[考研] 318求调剂 +3 Yanyali 2026-03-15 3/150 2026-03-16 16:41 by houyaoxu
[考研] 0703一志愿211 285分求调剂 +5 ly3471z 2026-03-13 5/250 2026-03-16 16:16 by 哦哦123
[考研] 312求调剂 +3 陌宸希 2026-03-16 4/200 2026-03-16 15:06 by peike
[考研] 285求调剂 +6 ytter 2026-03-12 6/300 2026-03-16 15:05 by njzyff
[考研] 304求调剂 +6 小熊joy 2026-03-14 6/300 2026-03-16 12:59 by Iveryant
[考博] 欢迎申博同学联系 +3 天道酬勤2026686 2026-03-10 7/350 2026-03-15 19:03 by 天道酬勤2026686
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 327求调剂 +4 Ffff03 2026-03-10 4/200 2026-03-14 00:17 by JourneyLucky
[考研] 0703化学调剂 +4 快乐的香蕉 2026-03-11 4/200 2026-03-13 22:41 by JourneyLucky
[考研] 求材料调剂 085600英一数二总分302 前三科235 精通机器学习 一志愿哈工大 +4 林yaxin 2026-03-12 4/200 2026-03-13 22:04 by 星空星月
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 0703化学一志愿211 总分320求调剂 +5 玛卡巴卡啊哈 2026-03-11 5/250 2026-03-13 21:40 by JourneyLucky
[考研] 0703化学求调剂 +7 绿豆芹菜汤 2026-03-12 7/350 2026-03-13 17:25 by njzyff
[考研] 314求调剂 +7 无懈可击的巨人 2026-03-12 7/350 2026-03-13 15:40 by JourneyLucky
[考研] 295求调剂 +3 小匕仔汁 2026-03-12 3/150 2026-03-13 15:17 by vgtyfty
[考研] 0817化学工程与技术考研312分调剂 +3 T123 tt 2026-03-12 3/150 2026-03-13 10:49 by houyaoxu
[考研] 290求调剂 +3 ADT 2026-03-13 3/150 2026-03-13 10:19 by peike
信息提示
请填处理意见