#include "stdio.h"
#include "iostream.h"
#include "stdlib.h"
void main()
{
FILE *fp;
char ch,fln[20];
cout<<"输入文件名:";
cin>>fln;
if((fp=fopen(fln,"w+"))==NULL)
{
cout<<"Can't open file"<<endl;
exit(0);
}
cout<<"输入你想说的话,'#'-结束."; //15
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}
例如:我的输入及显示:
输入文件名:file.txt
让我们疯狂起来吧。。。。^_^。。。
让我们疯狂起来吧。。。。^_^。。。
输入你想说的话,'#'-结束.Press any key to continue
“输入你想说的话,'#'-结束.”--至程序结束时才显示。。。按源程序不该这样的,
帮忙解释下。。。谢了。。。
[此贴子已经被作者于2007-11-8 17:13:26编辑过]
----------------解决方案--------------------------------------------------------
发错地方了
这是C论坛
不过学习下~~
----------------解决方案--------------------------------------------------------
好像vc6里面用getchar经常会出现这个问题
----------------解决方案--------------------------------------------------------
不知道你的程序是怎么能运行的,不知道用的啥编译器~
"iostream.h"不报警告吗? GCC有警告~
cout<<"输入你想说的话,'#'-结束.";
ch=getchar();
getchar是取字符~
想说的话应该是字符串~应该有个循环获取字符把~
----------------解决方案--------------------------------------------------------
回复楼上,用vc编译可通过的。。。
----------------解决方案--------------------------------------------------------
回复3楼,好像不是getchar的问题,我用"scanf("%c",&ch);"代替"ch=getchar()",运行后结果还是一样的。。。
麻烦天之涯版主,再花点时间帮帮忙。。。
----------------解决方案--------------------------------------------------------
试过后觉得很奇怪
在C里是可以的..
在你这个程序里居然WHILE优先执行了!
----------------解决方案--------------------------------------------------------
只是输入、输出用了c++的标准输入输出流。。。高手或版主进来看看啊,我想知道这问题的答案。。。
----------------解决方案--------------------------------------------------------
热心人都到哪去了? 我自己顶起来,嘿嘿。。。
----------------解决方案--------------------------------------------------------
我继续顶,顶起来。。。嘿嘿。。。
----------------解决方案--------------------------------------------------------