标题:帮忙看一下好么?不知道为什么输出总是多几个字符……
只看楼主
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
 问题点数:0 回复次数:7 
帮忙看一下好么?不知道为什么输出总是多几个字符……

#include<stdio.h> int bubble(char array[],int n) {int i,s; char k; for(i=n;i>0;i--) for(s=0;s<i-1;s++) if(array[s]>array[s+1]){k=array[s];array[s]=array[s+1];array[s+1]=k;} }

main() {FILE *in,*out; char ch,infile[100],outfile[100],array[100]; int n=0,m=1; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NULL) {printf("cannot open input file!\n"); exit(0);} if((out=fopen(outfile,"w"))==NULL) {printf("cannot open output file!\n"); exit(0);} ch=fgetc(in); while(ch!=EOF) {array[n]=ch;n++;ch=fgetc(in);} bubble(array,n); ch=array[0]; while(ch!=EOF) {fputc(ch,out);ch=array[m];m++;} fclose(in); fclose(out); }

运行之后打开,shuchu.c文件,总是会在结果后面多出莫名其妙的字符……:(

[此贴子已经被作者于2004-05-11 16:40:58编辑过]

搜索更多相关主题的帖子: 字符 int infile char 
2004-05-11 16:35
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

你改变以下打开方式那????


差点把你忘了...
2004-05-11 17:12
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
得分:0 

打开方式?

我打开的时候,是用记事本打开的……冷汗~

大人指得是用别的程序打开?

2004-05-11 21:08
asdliu
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-4-21
得分:0 
你在dos里面用type命令打开看看,出现乱码可能是你规定输出的比你的所输入的范围要大的缘故吧

阳光版主欢迎您
2004-05-12 13:26
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
得分:0 

用puts打印的话,可以得到正常结果的!

就是最后加上

puts(array);

就能得到我想要的结果~但是文件里显示,就会多出字符……怪异……

2004-05-12 16:47
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

对,你用DOS的EDIT.EXE看一看那???


差点把你忘了...
2004-05-13 10:42
mingyue
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2004-5-13
得分:0 
我也遇到过这样的问题。在字符串的最后加一个字符串结束字符就行了。

2004-05-13 17:06
笑残
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2004-5-10
得分:0 

啊!

加'\0'??

有道理……

2004-05-13 21:10



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




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

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