| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3055 人关注过本帖
标题:两个txt文本文件没有空格,可是读取到char数组显示中间有空格
只看楼主 加入收藏
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
两个txt文本文件没有空格,可是读取到char数组显示中间有空格
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    FILE *fp1, *fp2;
    char ar[200];
    if((fp1 = fopen("新建文本文档.txt","r")) == NULL)
    {
        printf("打开文件失败.\n");
        exit(0);
    }
    if((fp2 = fopen("新建文本文档 (2).txt","r")) == NULL)
    {
        printf("打开文件失败.\n");
        exit(0);
    }
    int i;
    for(i = 0; !feof(fp1); i++)
    {
        ar[i] = fgetc(fp1);
    }
    while(!feof(fp2))
    {
        ar[i] = fgetc(fp2);
        i++;
    }
    ar[i] = '\0';
    printf("%s\n",ar);
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: txt 空格 char 显示 printf 
2018-03-23 11:25
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
收藏
得分:0 
第一个文件信息:abcdefg
第二个文件信息:hijklmn
输出结果是:abcdefg  hijklmn
2018-03-23 11:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
但凡在循环中用 feof 作条件的,必然是错误的
feof是神仙呀,它能预测到你下一步能不能读取成功?!
正确的做法是:
for( int ch; ch=fgetc(fp1), ch!=EOF; )
    ar[i++] = ch;
// 结束后判断 是文件读完毕而结束,还是遇到错误而结束
feof
ferror
2018-03-23 12:18
新人学习
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:145
专家分:187
注 册:2017-10-26
收藏
得分:0 
回复 3楼 rjsp
如果是遇到错误结束的 后果是什么?
2018-03-23 12:45
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:0 
别总记得打开文件,又忘记了close文件。打开几个文件就得记得操作完后要fclose几个文件。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-03-23 14:19
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
    for(i=0; ar[i]=fgetc(fp1),!feof(fp1); i++) NULL;
    while(ar[i]=fgetc(fp2),!feof(fp2)) i++;
    ar[i] = '\0';


[此贴子已经被作者于2018-3-24 06:25编辑过]

2018-03-24 06:23
快速回复:两个txt文本文件没有空格,可是读取到char数组显示中间有空格
数据加载中...
 
   



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

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