C语言文件操作的单字符读取

#include <stdio.h>
main()
{
char ch1;
FILE *fp;
fp=fopen("d:\\file","w");
if(fp==NULL)
{
printf("\n can't open the file\n");
getch();
exit(0);
}
printf("%d\n",fp);
ch1=getchar();
while(ch1!='$')
fputc(ch1,fp);
fclose(fp);
fp=fopen("d:\\file","r");
ch1=fgetc(fp);
while(ch1!=EOF)
{
putch(ch1);
ch1=fgetc(fp);
}
fclose(fp);
getch();
}

输入单个字符回车后文件中写如无数的字符 我是想写入写出单个的而已~~求帮助亲们~财富没了`e ~就10个哇

  对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数:
  1.字符读写函数 :fgetc和fputc
  2.字符串读写函数:fgets和fputs
  3.数据块读写函数:freed和fwrite
  4.格式化读写函数:fscanf和fprinf
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-22
在前面头那里加入#include"string.h"

使用c=getchar()函数 这个函数的意思是 从键盘输入一个字符
第2个回答  2012-09-22
一、
ch1=getchar();
//while(ch1!='$')//这里不是个死循环??去掉再试
fputc(ch1,fp);
fclose(fp);
二、 输出也要改一下
while(1)
{
ch1=fgetc(fp);
if ( ch1==EOF) break ;
putch(ch1);
}追问

这样只能读入单个字符 读取倒是可以读出多个啊~

追答

你不是说:我是想写入写出单个的而已~~求帮助亲们,呵呵
ch1=getchar();
while(ch1!='$')
{
fputc(ch1,fp);
ch1=getchar();
}
fclose(fp);

本回答被提问者采纳
相似回答