| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:关于读取文件字符的问题
取消只看楼主 加入收藏
Timber
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-1-31
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:4 
关于读取文件字符的问题
Write a program which asks user to enter a filename and then reads
numbers from that file until end of file is reached.
When the end of file is reached program prints the sum of numbers
and the amount of numbers that was read from the file.

codeblocks调试没问题,一运行程序就直接死掉。。
请问哪里错了。。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MY_FILENAME "numbers.txt"
#define LINESIZE 80
int main()
{
    FILE *fp;
    char *filename="numbers.txt",*fileinput,*fileptr;
    int count=0;
    int value=0;
    double sum=0;
    char line[LINESIZE];
    printf("Please enter a filename!\n");
    scanf("%s",fileinput);
    fileptr=strstr(filename,fileinput);
    if (fileptr)
    {
        fp=fopen("numbers.txt","r");
        if (fp==NULL)
        {
            printf("Unable to open %s\n", MY_FILENAME);
        }
        else
            printf("numbers from %s...\n",MY_FILENAME);
        while (!feof(fp))
        {
            if (fgets(line,LINESIZE,fp)!=NULL)
            {
                if (sscanf(line,"%d",&value)==1)
                {
                    sum+=value;
                    count++;
                    printf("Read %d\n",value);
                }
                else
                {
                    printf("Invalid line\n");
                }
            }
        }
        fclose(fp);
        printf("the sum of %d numbers from %s is %f\n",count,MY_FILENAME,sum);
    }
    else
        printf("the file doesn't exist");
    return 0;
}
搜索更多相关主题的帖子: 字符 文件 
2010-05-10 16:59
Timber
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-1-31
收藏
得分:0 
好像是scanf不能给指针赋值? 那看输入的字符串和 已经储存的字符串是否匹配应该怎么写啊,strstr好像只能用指针哦。

But here I am
2010-05-10 17:18
Timber
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-1-31
收藏
得分:0 
回复 2楼 yc2575757
能不能举个例子啊,谢谢

But here I am
2010-05-10 17:19
Timber
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-1-31
收藏
得分:0 
回复 5楼 南国利剑
题目就是要输入个文件名,打开文件,将所有数字相加求和并显示出一共有多少个数字

我的问题是文件名的匹配怎么写
如果是strstr的话只能用指针
而scanf又不能直接对指针赋值
应该怎么做,谢谢

But here I am
2010-05-10 17:36
Timber
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-1-31
收藏
得分:0 
回复 8楼 liuzhiping
老师给的题目是英文的。。

But here I am
2010-05-13 07:43
快速回复:关于读取文件字符的问题
数据加载中...
 
   



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

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