putchar(ch)函数的疑问
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 09:52:12
putchar(ch)函数的疑问
#include
#include
#define NULL 0
void main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if ((fp=fopen(filename,"w"))==NULL)
{printf("can not open file!\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
上述代码中,向文件写入,并读出时候,
fputc(ch,fp);putchar(ch);我理解是输入一个字符,紧跟着就把这个字符输出,但事实上不是,是等多个字符输入完,回车后,一次性输出所输入字符.
我不解,
#include
#include
#define NULL 0
void main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if ((fp=fopen(filename,"w"))==NULL)
{printf("can not open file!\n");
exit(0);
}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
putchar(10);
fclose(fp);
}
上述代码中,向文件写入,并读出时候,
fputc(ch,fp);putchar(ch);我理解是输入一个字符,紧跟着就把这个字符输出,但事实上不是,是等多个字符输入完,回车后,一次性输出所输入字符.
我不解,
注意:
当用标准文件函数对文件进行读写操作时,首先将所读写的内容放进缓冲区,
即写函数只对输出缓冲区进行操作,读函数只对输入缓冲区进行操作.例如向一个文件写入内容,所写的内容将首先放在输出缓冲区中,直到输出缓冲区存满或 使用fclose()函数关闭文件时,缓冲区的内容才会写入文件中.若无fclose() 函数,则不会向文件中存入所写的内容或写入的文件内容不全.所以在对文件操作中,打开文件后记得在程序最后一定要用flcose(fp);关闭文件.
当用标准文件函数对文件进行读写操作时,首先将所读写的内容放进缓冲区,
即写函数只对输出缓冲区进行操作,读函数只对输入缓冲区进行操作.例如向一个文件写入内容,所写的内容将首先放在输出缓冲区中,直到输出缓冲区存满或 使用fclose()函数关闭文件时,缓冲区的内容才会写入文件中.若无fclose() 函数,则不会向文件中存入所写的内容或写入的文件内容不全.所以在对文件操作中,打开文件后记得在程序最后一定要用flcose(fp);关闭文件.
getchar(),putchar()函数的形式是什么?参数代表什么含义?
比较printf和putchar函数输出字符的特点
getchar函数是什么函数?它的功能是什么?putchar函数是什么?它的功能是什么?
C语言里,putchar函数和printf函数的区别具体是什么?
putchar函数的书面定义为“向终端输出一个字符”getchar函数的定义“从终端输入个字符”.
C语言putc与putchar的区别
c语言中putchar()函数如何输出变量或表达式
疑问(函数)
sh函数和ch函数的图像是什么样的?
对于高数中函数的极限的疑问
php的ord与chr函数疑问
matlab中FFT函数的疑问