标题:请教C的一个问题
只看楼主
lxs5216
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-2-3
 问题点数:0 回复次数:1 
请教C的一个问题

题目是:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个“#”为止。
我输入的程序为:
# include<stdio.h>
main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if (fp=fopen(filename,"w") == NULL)
{printf("cannnot open file \n");
exit(0);
}
ch=getchar();
while(ch != '#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
看上去没有错吧,但是运行的时候就总是出问题。在输入完了文件名后,回车就报错,说什么
expression: str!=NULL
for information on how your program can cause an assertion failure , see the Vc++ documentation on asserts.

请教各位高手啊,这是怎么回事呀!

搜索更多相关主题的帖子: filename getchar 键盘 
2006-02-04 20:10
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
   if ((fp=fopen(filename,"w")) == NULL)

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2006-02-04 21:09



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




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

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