| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 575 人关注过本帖
标题:有关读文件的问题
取消只看楼主 加入收藏
peace1221
Rank: 2
等 级:论坛游民
帖 子:32
专家分:35
注 册:2010-7-9
结帖率:57.14%
收藏
已结贴  问题点数:5 回复次数:1 
有关读文件的问题
不知道为什么,屏幕上输出的总比原来文件中多了一个字符,比如我的文件内容为Thanks,则输出的是thankss,
我的程序如下:
#include<stdio.h>
#include<process.h>
int main(void)
{
    FILE *fp;
    char ch;
    int i=1;

    if((fp=fopen("f3.txt","r"))==NULL){
        printf("Can not open the file!");
        exit(1);
    }
    while(!feof(fp)){

        fscanf(fp,"%c",&ch);
        if(ch=='\n')
            i++;
        if('A'<=ch&&ch<='Z')
            ch=ch+32;
        printf("%c",ch);
        
    };
    printf("\ni=%d",i);
    fclose(fp);


    return 0;

}
各位帮忙看看哪里有问题?
搜索更多相关主题的帖子: 文件 
2010-08-19 13:23
peace1221
Rank: 2
等 级:论坛游民
帖 子:32
专家分:35
注 册:2010-7-9
收藏
得分:0 
可是为什么有时候用feof却不会出现重读的现象呢?比如
#include<stdio.h>
#include<process.h>
int main(void)
{   
   FILE *fp1,*fp2;
   char c;

if((fp1=fopen("f1.txt","r"))==NULL){
printf("File open error!\n");
exit(0);
}
if((fp2=fopen("f2.txt","w"))==NULL){
printf("File open error!\n");
exit(0);
}
while(!feof(fp1)){
c=fgetc(fp1);
fputc(c,fp2);
}
fclose(fp1);
fclose(fp2);

return 0;
}
我想知道在什么情况下使用feof不会有问题呢?
2010-08-20 10:13
快速回复:有关读文件的问题
数据加载中...
 
   



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

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