| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 909 人关注过本帖
标题:文件读写问题请教
只看楼主 加入收藏
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
结帖率:71.88%
收藏
已结贴  问题点数:1 回复次数:11 
文件读写问题请教
我有一个在c盘下TDDOWNLOAD下一个名为tobill.txt的文件,里面是数千个公车用户的账单记录,截取其中一个:
AX1221123423453456:Amanda Ng:012:032
分别是信用卡号码:名字:上车站名:下车站名。
现要求我截取第28个记录。小弟写的程序如下,先读取前28个记录,可编译但怎么也运行不了,请大家指教,谢谢。
#include<stdio.h>
 main ()
 {
 FILE  *infile;
 int x, on, off;
 char credit[20], name[20];
 
 infile=fopen("C:\\TDDOWNLOAD\\tobill.txt", "r");
 
 for (x=0; x<27; x++)
 {
   fscanf(infile, "%[^:]:%[^:]:%d:%d", credit, name, &on, &off);
   printf("\nRecord %d is : %s:%s:%d:%d", x, credit, name, on, off);
 
 }
 
 fclose(infile);
 
 }


[ 本帖最后由 winglesswu 于 2013-3-25 01:27 编辑 ]
搜索更多相关主题的帖子: credit Amanda include 记录 
2013-03-25 00:57
X1AO
Rank: 3Rank: 3
来 自:北京邮电大学
等 级:论坛游侠
威 望:1
帖 子:52
专家分:123
注 册:2013-3-6
收藏
得分:0 
  FILE  *infile;   后面的;改成;

不要问我下课干什么,我陪瓜哥上厕所。
2013-03-25 08:50
wojiaoliuli5
Rank: 2
等 级:论坛游民
帖 子:6
专家分:15
注 册:2013-3-17
收藏
得分:0 
可以新建一个结构体进行读取
2013-03-25 08:59
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
收藏
得分:0 
老师要求读取tobill.txt中的第28个记录,我照着写,但是怎么也读取不了,怎么回事呢?
2013-03-25 09:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
把文件传上来看看

授人以渔,不授人以鱼。
2013-03-25 10:02
X1AO
Rank: 3Rank: 3
来 自:北京邮电大学
等 级:论坛游侠
威 望:1
帖 子:52
专家分:123
注 册:2013-3-6
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
void main ()
{
    FILE  *fp;
    int x = 1;
    char  ch;

 
    if((fp=fopen("tobill.txt", "r")) == NULL)
    {
        printf("error");
        exit(1);
    }

    ch=getc(fp);
     
     while(x<28)
    {   
        while(ch  != '\n')
        {
            ch=getc(fp);

        
            continue;
        }
        x++;

    }
    ch=getc(fp);
    while(ch != '\n')
    {
         putchar(ch);
         ch=getc(fp);
    }
     
    putchar('\n');
    fclose(fp);
    
   
}

如果你的数据是这么存的话
AX1221123423453456:Amanda Ng:012:032
AX1221123423453456:Amanda Ng:012:032
AX1221123423453456:Amanda Ng:012:032

不要问我下课干什么,我陪瓜哥上厕所。
2013-03-25 10:12
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
收藏
得分:0 
AX9380248390522737:Lucille Rivera:130:015
AX9703986576270399:Sue Lopez:035:010
AX6558147138480460:Judy Campbell:085:050
VS1378838153543659:Kimberly Bennett:050:005
VS5541883522667841:Joann Williams:040:090
VS7744915558298207:Warren Taylor:160:100
VS0622522715211018:Eric Bailey:110:105
VS6285943905636308:Jesse Foster:070:085
AX6438400937572975:Jim Dmitri:065:055
有数千个,这是其中的几个。
2013-03-25 11:02
语言者
Rank: 2
等 级:论坛游民
帖 子:20
专家分:14
注 册:2012-12-18
收藏
得分:0 
如果是你自己写的那个代码,就要定义一个结构体才行,要不你就用数组顺序输出也行,就是用数组中间的符号可能要考虑一下该怎么输出;
2013-03-25 13:29
X1AO
Rank: 3Rank: 3
来 自:北京邮电大学
等 级:论坛游侠
威 望:1
帖 子:52
专家分:123
注 册:2013-3-6
收藏
得分:0 
回复 7楼 winglesswu
如果是仅仅挑出某一行的话,用我的那个代码就行啊。

不要问我下课干什么,我陪瓜哥上厕所。
2013-03-25 13:34
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
收藏
得分:0 
#include<stdio.h>
main ()
 {
 FILE  *infile, *outfile;
 int x, on, off;
 char credit[30], name[30];
 
 printf("\nMy SID is 059353128");
 infile=fopen("tobill.txt", "r");
 outfile=fopen("record.txt", "w");
 for (x=1; x<29; x++)
 {
   fscanf(infile, "%[^:]:%[^:]:%d:%d", credit, name, &on, &off);
   fprintf(outfile, "\nRecord %d is : %s %s %d %d", x, credit, name, on, off);
 }
 
 fclose(infile);
 fclose(outfile);
 }
重新写了,但是还是不行。6楼的朋友,谢谢你。我也运行了,没有结果。
2013-03-25 21:34
快速回复:文件读写问题请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027234 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved