| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 751 人关注过本帖
标题:[求助]一个文件的问题
取消只看楼主 加入收藏
cabin0120
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-9-6
结帖率:0
收藏
 问题点数:0 回复次数:2 
[求助]一个文件的问题

#include<stdio.h>
#include<string.h>
main()
{ int getstring(char filename[],char str[]);
char filename[10],str[100];
int m;
printf("please input the name of the file ");
scanf("%s",filename);
m=getstring(filename,str);
printf("%d\n",m);
printf("%s",str);

}
getstring(char filename[10],char str[100])
{ int i=0,n;
FILE *fp;
if((fp=fopen(filename,"r"))==NULL)
{printf("cannot open file \n");
exit(0);
}

while(!feof(fp))
str[i++]=fgetc(fp);
n=strlen(str);
return(n);
fclose(fp);
}
为什么以上程序最后输出时后面会出现一些莫名其妙的符号,而且输出的字符数也与实际的不相符合/?????

搜索更多相关主题的帖子: 文件 
2007-01-08 16:10
cabin0120
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-9-6
收藏
得分:0 

谢谢了,可是结果不对啊,还是有很多字符在后面显示出来。

2007-01-08 17:29
cabin0120
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-9-6
收藏
得分:0 
以下是引用zhanghuan_10在2007-1-8 18:02:37的发言:
参照前便两位改了一下!呵呵!
[CODE]

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

int main(void)
{
int getstring(char filename[], char str[]);
char filename[10],str[100];
int m;

printf("please input the name of the file: ");
scanf("%s", filename);
m = getstring(filename, str);
printf("%d\n", m);
printf("%s", str);

return 0;

}

int getstring(char filename[10], char str[100])
{
int i = 0, n;
FILE * fp;

if((fp=fopen(filename, "r")) == NULL)
{
printf("cannot open file.\n");
exit(0);
}

while(!feof(fp))
str[i++]=fgetc(fp);
str[i] = '\0';
n=strlen(str);
fclose(fp);

return(n);

}


[/CODE]

这个好象不行,后面还是要出现一个奇怪的字符。

2007-01-09 22:31
快速回复:[求助]一个文件的问题
数据加载中...
 
   



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

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