在自己写图书管理系统项目的时候,遇到了挺多问题的。这个问题比较严重,就是在自己循环增加图书的时候用char c=getchar()
取得是缓冲区字符,因此不知道缓冲区是否还会存在数据。所以有一下几种方法;
所谓缓冲区,就是字符由键盘输入的时候,先进缓冲区,不会直接进入硬盘,这样相对来说能提高效率,scanf和cin都是从缓冲区去获取数据的。
以下例子是关于缓冲区的例子:
#include<stdio.h>
void main()
{
int m;
fputs("请输入一个数字:",stdout); //标准输出到硬盘上
scanf("%d",&m);
printf("%d",m);
}
先介绍一下fputs函数,fgets()函数是从文件中读取数据,fputs函数是将数据写入到文件中。例如:
FILE *fp=fopen("test.txt","w");
char s1[20]="hello world";
char *s2="hello C";
fputs(s1,fp); // 数组名
fputs(s2,fp); //字符指针