fflush函数报错Segmentation fault
谢谢#include <stdio.h>int main(){
char inbuf,a;
int i=0;
setbuf(stdin, inbuf);
scanf("%s",&a);
/*往缓冲区写入数据 */
//putchar('\n');
printf("inbuf==%s\n",inbuf);
printf("a==%s\n",a);
putchar('\n');
if(0 ==fflush(inbuf)) //清空文件缓冲区
{
printf("inbuf==%s\n",inbuf);
printf("a==%s\n",a);
putchar('\n');
for(int b=0;b<BUFSIZ;b++)printf("*(inbuf+%d)==%c",b,*(inbuf+b));
}
return 0;
}
你是不是抽象过头了,你定义了一个字符数组 inbuf
用它缓存字符串,但是并不代表它就是系统的缓冲区
fflush是缓存输入输出(stdin stdout)
你一个字符数组用什么fflush直接 memset 清空不就完事了
页:
[1]