标题:关于对文件中字符数目进行统计,为何数目是零的问题(硬件设施是手机,编译器 ...
取消只看楼主
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
结帖率:100%
已结贴  问题点数:25 回复次数:8 
关于对文件中字符数目进行统计,为何数目是零的问题(硬件设施是手机,编译器是c4droid)
我感觉逻辑挺正确的,而且源文件中也有单词,但为何统计不出,源码如下

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

int main(void)
{
    FILE* pfile = NULL;
    int count = 0;
    char fname[30] = { 0 };
   
    printf("请输入文件名: ");
    scanf("%s", fname);
   
        //疑似问题所在
    if((pfile = fopen("/sdcard/fname", "r")) == NULL)
    {
       printf("\nERROR");
       exit(1);
    }
   
    while(fgetc(pfile) != EOF)
        count++;
        
    fclose(pfile);
   
    printf("\n%s文件有字符%d个", fname, count);
   
    return 0;
}

以上无法统计出(注意这是在c4droid上运行的,不知电脑上如何,大一党,只好用手机,见谅)
1.但当将fopen函数的第一个参数设为fname时竟可统
计出,为何啊
2.更改之后我用双引号括住//sdcard//fname也可运行,但数目又为零
搜索更多相关主题的帖子: 编译器 include 源文件 count 手机 
2016-09-15 21:00
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 2楼 ehszt
据本程序会显示ERROR ,这样格式是错误的,应是左斜杠
2016-09-15 21:43
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 5楼 书生牛犊
恍然大悟,忽略了计算机的基础知识,把fname改为要打开的文件就可以了吗?不用变量,例如:/sdcard/c.
txt对吧。
2016-09-15 21:53
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 7楼 ehszt
但若是换成/sdcard/c.txt这样,fgetc()这里该怎样更改
2016-09-15 22:00
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 9楼 ehszt
非常感谢,
2016-09-15 22:13
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 11楼 书生牛犊
明白,谢谢
2016-09-15 22:18
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 13楼 ehszt
是啊,手机上目录用的是左斜杠
2016-09-15 22:19
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 10楼 书生牛犊
是fopen这里有问题
2016-09-15 22:20
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
回复 11楼 书生牛犊
"/sdcard/c.txt"也可以
2016-09-15 22:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-468831-1-1.html




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

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