从文件中提取数据段,转换格式后写出的问题

duckliao 2006-01-26 03:53:46
文件里有如下内容,要求提取每一行的部分字段,进行格式转换后写入另一个文件
H200601190032420120060119003546HKG1
R0200200601182 255628125952770
R0200200601182 255393333620293
R0200200601182 255639068400242
T000007954755000001712178777287894848
要求转换后的格式如下:
HKG1 0601190
2002006,82 ,25562
2002006,82 ,25539
2002006,82 ,25563
T 894848
我想的是用fseek()移动指针和fgets()取字段,其中R部分要写一个循环,但是插入的,号怎么弄呢?请各位巨侠帮忙实现一下这个程序!


...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
myhouwei 2006-02-21
  • 打赏
  • 举报
回复
假如每行50给字符
char str[50]={0};
while(fgets(str, 50, FILE *stream)!=NULL)
{ printf("%c",str[i]); //i 为你想要的位置的字符
 printf("%c",str[i+1]);
。。。。 //最多写一行上面的内容
printf("%c",',');//你要的逗号
 ....
 printf("\n");//写完一行
 str[]={0};

虽然有点烦琐,但可以完成你的功能
duckliao 2006-01-26
  • 打赏
  • 举报
回复
对头,这个文件的R部分有几十万行的,直接按位写是什么意思呢?说详细一点嘛,我是初哥.....
dearlee_01 2006-01-26
  • 打赏
  • 举报
回复
大过年的,还给安排这么多活,真是的。
你直接根据定义好的文件格式,我想你说的肯定不是简单文本文件,直接按位写就是了
ouyh12345 2006-01-26
  • 打赏
  • 举报
回复
用fseek()移动指针和fgets()取字段的想法可能不行。
还是读一行,分析,再写吧
duckliao 2006-01-26
  • 打赏
  • 举报
回复
对了,每一行的长度是相同的,也就是有空格,如果用FOR循环,怎么建立一个循环呢

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧