睡求!!!文件中字符串输入输出问题fputc

naruta 2010-08-17 07:41:13
#include<stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp;
char ch;

fp=fopen("jun.txt","w");
ch=getchar();

while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();

}

fclose(fp);



}



本以为只输入单个字符可以执行。


当输入字符串的时候,也可以执行,小弟想了解一下,输入字符串的时候哪里来那么多的内存给它存储。



请求高手解释一下内存分布的原理。。。
...全文
218 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
canshui 2010-08-17
  • 打赏
  • 举报
回复
首先,你从键盘输入的众多字符,被存储在键盘缓冲区中,在你会车后,才开始匹配!通过getchar()从缓冲区中依次匹配,每匹配一个,就从键盘缓冲区中除去,与‘#’比较后,进入循环,再通过循环中getchar()匹配剩下的!…… 这样一次,下去,直到遇到‘#’……

http://zhidao.baidu.com/question/3743986.html?fr=ala1
  • 打赏
  • 举报
回复
系统把stdin输入的字符串放在缓存里,程序是在while循环里面一个个字符读取的

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧