rt3 发表于 2021-5-5 19:36:09

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;
}

yuxijian2020 发表于 2021-5-6 09:24:54

你是不是抽象过头了,你定义了一个字符数组 inbuf
用它缓存字符串,但是并不代表它就是系统的缓冲区
fflush是缓存输入输出(stdin stdout)
你一个字符数组用什么fflush直接 memset 清空不就完事了
页: [1]
查看完整版本: fflush函数报错Segmentation fault