精华内容
下载资源
问答
  • 清空输入缓冲区
    千次阅读
    2019-03-24 23:49:49

    输入缓冲区
    所有从键盘输入的数据,,不管是字符还是数字,都是先存储在内存中的一个缓冲区里面,叫做键盘缓冲区,简称“输入缓冲区”或者“输入流”。

    #include<stdio.h>
    int main(void)
    {
    	int a, b, c;
    	scanf("%d", &a);
    	printf("%d\n", a);
    	scanf("%d", &b);
    	printf("%d", b);
    	scanf("%d", &c);
    	printf("%d", c);
    	return 0;
    }
    

    从输出结果可以看出,不管是一个一个地输入:1(回车)2(回车)3(回车);还是三个数字一次性输入:1(空格)2(空格)3(空格),这两种方式结果都是一样的,原因就是从键盘输入的数据都会依次存入缓冲区,不管是数字还是字符都会被当成数据存进去。但是只有按下回车,scanf才会将数据存进缓冲区中,因此不管我们怎么输入,我们可以存一个取一个,也可以一次性全存入进去,然后一个个取。

    %d和%c读取缓冲区的差别
    对于%d,在缓冲区中,空格,回车,Tab键都只是分割符,
    不会被scanf当成数据取用,%d遇到过他们就会跳过,取下一个数据。但是如果是%c,那么空格,回车,Tab键都会被当成是数据给scanf取用,

    
                                            
    更多相关内容
  • 所有从键盘输入的数据,不管是字符还是数字,都是先存储在内存的缓冲区中,叫作“键盘输入缓冲区”,简称“输入缓冲区”或“输入流”。需要注意的是,对于 %d,在缓冲区中,空格、回车、Tab 键都只是分隔符,不会被 ...
  • 缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。 原理介绍: 当调用输入函数scanf()时,输入函数会将我们输入的数字输入到输入缓冲区, 而当我们的输入缓冲区有内容时,再次输入将不会被...
  • 本文主要介绍C语言清空输入缓冲区在标准输入(stdin)情况下的使用。
  • 程序并不立即获取到屏幕上输入的数据,而按下回车键后程序才从输入缓冲区中读取数据。 1、当读取整型或浮点型数据时,而缓冲区中的数据是字母或符号,此时将读取失败,并且会影响接收下来所有的数据读取。 2、fgets...

    输出缓冲区:
    程序输入的数据并不能立即显示在屏幕上,而是先存储在输出缓冲区中,满足一些条件后才显示出来。
    1、遇到\n后
    2、遇到输入语句
    3、当输出缓冲区满4K
    4、当程序结束
    5、手动刷新 fflsuh(stdout)
    缓冲区机制可以提高数据的读写速度。

    输入缓冲区:
    程序并不立即获取到屏幕上输入的数据,而按下回车键后程序才从输入缓冲区中读取数据。

    1、当读取整型或浮点型数据时,而缓冲区中的数据是字母或符号,此时将读取失败,并且会影响接收下来所有的数据读取。

    2、fgets可以指定读取size-1字符,如果有多余的会残留在输入缓冲区中。

    3、当先输入整型、浮点型数据,再输入字符、字符串时前一次会残留一个’\n’,影响字符、字符串的输入。
    scanf(" %c",&ch);

    方法1:必须确定缓冲区中有垃圾数据,否则程序就停下了等待一个\n
    scanf("%*[^\n]");
    scanf("%*c");

    方法2:把输入缓冲区的当前位置指针移动到末尾,只能在Linux系统下使用。
    stdin->_IO_read_ptr = stdin->_IO_read_end;

    展开全文
  • 其中第一个进程在屏幕上连续显示‘A’字符,与此同时,程序不断检测是否有键盘输入,如果有,就读如用户键入的字符并保存到输入缓冲区中。在用户输入时键入的字符不立即显示在屏幕上。当用户渐入’;’或’,’时,第...
  • 在C ++中清除输入缓冲区

    千次阅读 2020-04-16 21:47:24
    问题引入 用过C++的都明白,在运用输入过程中会出现不经意间意外输入错误的情况,导致之后的输入...当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中读取数据。这种缓冲机制规定,只...

    问题引入

    用过C++的都明白,在运用输入过程中会出现不经意间意外输入错误的情况,导致之后的输入无效,C++内部会继续使用之前的意外输入,使得程序运行错误。

    输入缓冲区

    所有从键盘输入的数据,不管是字符还是数字,都是先存储在内存中的一个缓冲区里面,叫做键盘缓冲区,简称输入缓冲区或者输入流

    当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中读取数据。这种缓冲机制规定,只有收到回车键时,才会将所有输入的数据一次性提交到cin函数。回车标志一次输入的完成,如果数据不够,则会等待用户继续输入;如果数据有多余,则将多余的数据存储在输入流缓冲区中,供下次使用。

    ————————————————
    参考链接:https://blog.csdn.net/zhao708981169/article/details/36392681

    如何解决

    1.cin.clear()

    在这里插入图片描述

    这是各个状态标识符的含义:
    在这里插入图片描述
    (有道翻译)

    • goodbit 无错误,cin.rdstate()为0
    • eofbit 已到达输入操作的文件尾 ,cin.rdstate()为1
    • failbit i/o操作的逻辑错误(非致命的输入/输出错误,可挽回),cin.rdstate()为2
    • badbit i/o操作的读/写错误(致命的输入/输出错误,无法挽回),cin.rdstate()为4

    比如:定义要输入到的变量是整型,但如果我们输入了其它字符,那就会发生错误。cin里有个方法能检测这个错误,就是cin.rdstate(); 当cin.rdstate()返回0(即ios::goodbit)时表示无错误,可以继续输入或者操作,若返回2则发生非致命错误(即ios::failbit)则不能继续输入或操作。

    #include <iostream>
    using namespace std;
    int main()
    {
        while (true)
        {
            int a;
            cin >> a;
            cout << "a=>"<<a << endl;
            cout << "cin.goodbit=>" << cin.goodbit << endl;
            cout << "cin.eofbit=>" << cin.eofbit << endl;
            cout << "cin.failbit=>" << cin.failbit<< endl;
            cout << "cin.badbit=>" << cin.badbit << endl;
            cout << "cin.rdstate()=>" << cin.rdstate() << endl;
            system("pause");
        }
        return 0;
    }
    
    // 依次输入:1,2,#(之后无法继续输入)
    

    在这里插入图片描述
    加几行代码,调用cin.clear(),输入“#”依旧无法继续输入,但是可以把状态为都清掉(cin.rdstate()返回goodbit,即0),看结果:

    #include <iostream>
    using namespace std;
    int main()
    {
        while (true)
        {
            int a;
            cin >> a;
            cout << "a=>"<<a << endl;
            cout << "cin.goodbit=>" << cin.goodbit << endl;
            cout << "cin.eofbit=>" << cin.eofbit << endl;
            cout << "cin.failbit=>" << cin.failbit<< endl;
            cout << "cin.badbit=>" << cin.badbit << endl;
            cout << "cin.rdstate()=>" << cin.rdstate() << endl;
    
            cout << "调用cin.clear()后---" << endl;
            cin.clear();
            cout << "cin.rdstate()=>" << cin.rdstate() << endl;
            system("pause");
        }
        return 0;
    }
    // 输入:#(之后依旧无法继续输入)
    

    在这里插入图片描述

    结论:
    cin.clear()可以让状态位都变为正常,但无法清除输入缓冲区

    2.cin.sync()

    但是!!!

    并不是所有时候都有效,具体可以参考这篇博文:

    ———————————————— https://www.cnblogs.com/seamusopen/p/8451883.html

    大致意思说: 对于 std::cin 这些标准库「自带」的输入流来说,调用 sync() 是「实现定义」的行为,如果没有得到预期的效果的话,可以查看自己的编译器(标准库实现)的说明文档,上面应该有写明它所使用的是哪种行为。

    以下是一些无用的查证,有兴趣可以看看我的查证过程…


    好奇心下,我打开我的VS2019命令行提示工具(工具-命令行-开发者命令提示工具,输入RC/?
    在这里插入图片描述
    但是查找了官网和GitHub并没有找到关于编译器的说明文档…但至少知道了微软的C++的IDE用的是MSVC编译器。

    直接看sync函数的定义不就行了?<istream>的原文档,里面对sync函数这样定义:

     int __CLR_OR_THIS_CALL sync() { // synchronize with input source
            const sentry _Ok(*this, true);
    
            const auto _Rdbuf = _Myios::rdbuf();
            if (!_Rdbuf) {
                return -1;
            }
    
            bool _Sync_failed = true; // sync fails if an exception is thrown
            _TRY_IO_BEGIN
            _Sync_failed = _Rdbuf->pubsync() == -1;
            _CATCH_IO_END
            if (_Sync_failed) {
                _Myios::setstate(ios_base::badbit);
                return -1;
            }
    
            return 0;
        }
    

    (结合中文文档给出解释)
    将输入缓冲区与关联数据源同步。表现为无格式输入函数 (UnformattedInputFunction) ,除了不影响 gcount() 构造并检查 sentry 对象后,若 rdbuf() 为空指针,则返回 -1 ;否则调用 rdbuf()->pubsync() 。若该函数返回 -1 ,则调用 setstate(badbit) 并返回 -1 ,否则返回 ​0​ 。

    但注意到中文文档这句话:

    为了令下个读取操作拾取任何在流缓冲最后填充其获取区后,可能已对关联输入序列做出的更改。为达成之, sync() 可以清空获取区,或重填充它,或不做任何事。值得注意的例外是 Visual Studio ,其中此操作在以标准输入流调用时舍弃未处理的输出。

    为什么我用的MSVC就是个例外了,就不香了!

    用代码看看:

    #include <iostream>
    using namespace std;
    int main()
    {
        while (true)
        {
            int a;
            cin >> a;
    
            cout << "a=>"<<a << endl;
            cout << "cin.goodbit=>" << cin.goodbit << endl;
            cout << "cin.eofbit=>" << cin.eofbit << endl;
            cout << "cin.failbit=>" << cin.failbit<< endl;
            cout << "cin.badbit=>" << cin.badbit << endl;
            cout << "cin.rdstate()=>" << cin.rdstate() << endl<<endl;
    
            cout << "调用cin.clear()后---" << endl;
            cin.clear();
            cout << "cin.rdstate()=>" << cin.rdstate() << endl<<endl;
    
            cout << "调用cin.sync()后---" << endl;
            cin.sync();
            cout << "cin.rdstate()=>" << cin.rdstate() << endl << endl;
            system("pause");
        }
        return 0;
    }
    

    在这里插入图片描述
    可以看到,输入“#”依旧无法继续输入,a的值依旧是0。

    再改改代码,让另一个字符串来接收缓冲区的“#”,看看是不是真的没有清除:

    #include <iostream>
    #include<string>
    using namespace std;
    int main()
    {
        while (true)
        {
            int a;
            string str;
            cin >> a;
    
            cout << "a=>"<<a << endl;
            cout << "cin.goodbit=>" << cin.goodbit << endl;
            cout << "cin.eofbit=>" << cin.eofbit << endl;
            cout << "cin.failbit=>" << cin.failbit<< endl;
            cout << "cin.badbit=>" << cin.badbit << endl;
            cout << "cin.rdstate()=>" << cin.rdstate() << endl<<endl;
    
            cout << "调用cin.clear()后---" << endl;
            cin.clear();
            cout << "cin.rdstate()=>" << cin.rdstate() << endl<<endl;
    
            cout << "调用cin.sync()后---" << endl;
            cin.sync();
            cout << "cin.rdstate()=>" << cin.rdstate() << endl << endl;
            cin >> str;
            cout << "str=>" << str << endl;
            system("pause");
        }
        return 0;
    }
    
    //输入:#,1,mystr
    

    在这里插入图片描述
    可以看到,接下来的str我并没有输入,但接收到了缓冲区的字符“#”,而下一次循环依旧可以继续输入了。

    结论
    在不同编译器下,sync函数的实现不同,使得其功能有所不同,我用的是MSVC,不能执行清除缓冲区的功能。

    3.cin.ignore()

    具体用法:

    cin.ignore(int intExp, char chExp);
    其中intExp 是一个整型表达式,也可以是一个整型数值,这个数值表示在一行中忽略的字符的最大数目,比如说intExp=100;还有一个参数chExp,是一个字符表达式。表示如果遇到一个字符值等于chEXP,那么就停止ignore(),如果ignore100个字符之后还没遇到值等于chEXP的字符,那也得停止ignore(),所以100是ignore()所忽略的最大字符数。
    ————————————————
    原文链接:https://blog.csdn.net/imkelt/article/details/52202002

    cin.ignore(numeric_limits<std::streamsize>::max(),’\n’);//清除输入缓冲区的当前行 
    cin.ignore(numeric_limits<std::streamsize>::max()); //清除输入缓冲区里所有内容 
    cin.ignore()//清除一个字符
    

    numeric_limits<std::streamsize>::max()不过是climits头文件定义的流使用的最大值,你也可以用一个足够大的整数代替它。

    ————————————————
    原文链接:https://blog.csdn.net/selina8921/article/details/79067941

    看代码:

    #include <iostream>
    #include<string>
    using namespace std;
    int main()
    {
        while (true)
        {
            int a;
            string str;
            cin >> a;
    
            cout << "a=>"<<a << endl;
            cout << "cin.goodbit=>" << cin.goodbit << endl;
            cout << "cin.eofbit=>" << cin.eofbit << endl;
            cout << "cin.failbit=>" << cin.failbit<< endl;
            cout << "cin.badbit=>" << cin.badbit << endl;
            cout << "cin.rdstate()=>" << cin.rdstate() << endl<<endl;
    
            cout << "调用cin.ignore()--" << endl;
            cin.ignore();
    
            cout << "输入str:";
            cin >> str;
            cout << "str=>" << str << endl;
            system("pause");
        }
        return 0;
    }
    
    //输入:1,#
    

    在这里插入图片描述
    可以看出:在调用了cin.ignore()函数之后,str无法取出错误的字符“#”,表示忽略了缓冲区内容,但还是不能继续输入str,原因在于没有调用cin.clear()使状态位还原

    第二次测试,依次输入:###
    在这里插入图片描述
    可以看出:在没有加cin.clear()的情况下,str无论如何都无法获取缓冲区内容,即使cin.ignore()只忽略1个字符,而且也无法继续输入。

    在cin.ignore()之前加上cin.clear()函数的调用,进行第三次测试,依次输入:###,1,my
    在这里插入图片描述
    可以看出:在调用了cin.ignore()函数之后,str可以取出错误的字符“##”,表示忽略了缓冲区内容,但仅仅忽略了一个字符,下一次,又可以继续输入a和str。

    结论:
    要使得缓冲区完全清空,最稳妥的方案:

    cin.clear();
    cin.ignore(numeric_limits<std::streamsize>::max())
    
    展开全文
  • C/C++ 四种清空输入缓冲区的方法

    千次阅读 2021-01-15 07:16:22
    C/C++ 四种清空输入缓冲区的方法C/C++ 四种清空输入缓冲区的方法一、fflush(stdin);C语言:清空输入缓冲区的所有内容,在VS中没有效果二、cin.sync();C++:清除输入缓冲区的所有内容,在VS中没有效果三、cin.ignore...

    C/C++ 四种清空输入缓冲区的方法

    C/C++ 四种清空输入缓冲区的方法

    一、

    fflush(stdin);

    C语言:清空输入缓冲区的所有内容,在VS中没有效果

    二、

    cin.sync();

    C++:清除输入缓冲区的所有内容,在VS中没有效果

    三、

    cin.ignore(std::numeric_limits< streamsize >::max(), ‘\n’);

    C++:清除输入缓冲区的所有内容,直到遇到回车符为止, 各种编译器都有效

    简要说明:

    cin.ignore(count, c);

    从输入流中提取并丢弃字符,直到遇到下列三种情况

    1.提取的字符达到了参数count指定的数量

    2.在输入序列中遇到文件结束(EOF)

    3.输入序列中的下一个字符为参数c指定的字符(这个字符会被提取并丢弃)

    可以写成:cin.ignore(10, ‘\n’);

    提取输入缓冲区中的数据,直到遇到回车符,当读取的数据到达十个时,就会停止提取,不会继续提取到回车符。(限制提取十个数据)

    count常常取:

    std::numeric_limits< std::streamsize >::max() 相当于IO流的最大字符个数

    常见用法:(把标准输入缓冲区cin的所有数据都清空)

    cin.ignore(std::numeric_limits< streamsize >::max(), ‘\n’);

    注意:

    1.cin.ignore(std::numeric_limits< streamsize >::max(), ‘\n’);在有包含头文件#include 时是无法使用的;

    2.因为该头文件已经包含了宏定义min 和 max,再使用就会优先调用头文件#include中的宏定义,就会起冲突,从而导致报错;

    3.如果有要求要包含头文件#include ,而且还要使用cin.ignore(std::numeric_limits< streamsize >::max(), ‘\n’);的话,需要在包含头文件#include之前加上一句#define NOMINMAX,限定头文件#include中的宏定义min 和 max 就行了;

    4.或者直接删去头文件#include也可以解决问题

    5》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    还有一种解决方法:

    cin.ignore((std::numeric_limits< streamsize >::max)(), ‘\n’);

    在回车符前面加上一个括号就可以了,因为不加()的话,max 就和系统中已经有的,预定义的max宏函数混淆了。

    附上报错截图:

    a93b8bdd30e5e17823d90e10826e1cd0.png

    四、

    char c;

    while ((c = getchar()) != ‘\n’);

    C/C++:循环读取输入缓冲区的数据,直到遇到回车符为止,效果等效于:清空输入缓冲区的所有数据,直到遇到回车符为止。 在各种编译器中有效。

    C/C++ 四种清空输入缓冲区的方法相关教程

    展开全文
  • C语言清空输入缓冲区

    千次阅读 多人点赞 2018-07-16 21:49:26
    C语言编程 - 清空键盘输入缓冲区  清空键盘缓冲区很多种方法,如用fflush(stdin); rewind(stdin);等,但是在linux这些都不起作用,还得我今天试了半天都没成功,上网搜了一下发现setbuf(stdin, NULL);就能直接...
  • 输入缓冲区与输出缓冲区

    千次阅读 2018-05-17 23:24:34
    本博文通过一段程序来理解输入缓冲区与输出缓冲区。程序如下:/************************************************************************* @Author: wanghao @Created Time : Thu 17 May 2018 06:03:12 AMPDT ...
  • 但是我想把输入缓冲区写满某个键盘不能直接输入的字符,然后检验getchar() 获取的到字符是不是我程序放到缓冲区的这个字符, 通过这样来检验用户有没有输入。 这样即使用户没有输入程序也会继续运行。 ...
  • C++cin详解及清空输入缓冲区

    万次阅读 多人点赞 2018-01-15 19:34:42
    一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin对象直接从输入缓冲区中取数据。正因为cin对象是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin对象会直接取得这些...
  • vs2017下清空输入缓冲区(c/c++)

    千次阅读 多人点赞 2019-12-28 22:53:28
    在网上找了挺久好像都只说了什么fflush,rewind,cin的什么什么函数,但貌似都没有能够真正的在vs2017下清空输入缓冲区的。 隐约记得以前我已经试过清空了,但是又忘记了是什么,翻翻以前的代码才找到。 ...
  • 不论从 字面意思 还是 某些技术文档 中,都可以看到 fflush(stdin) 是对标准输入缓冲区清空的标准方案; 然而,并不是! 深入了解一下 fflush(stdin) 之后,才发现这个锅得自己背,怪自己喜欢拿来就用,不去深入了解...
  • C语言中如何清空输入输出缓冲区

    千次阅读 2021-05-20 09:32:44
    C语言中如何清空输入输出缓冲区答案:5信息版本:手机版解决时间 2019-10-06 09:40已解决2019-10-05 13:54C语言中如何清空输入输出缓冲区最佳答案2019-10-05 15:11最简单的是用fflush()函数。此函数包含在stdio.h...
  • C语言-----怎么刷新输入缓冲区

    千次阅读 2018-04-20 19:11:24
    经常我们想在屏幕上看一个结果或输入内容的时候,却不等待你输入就结束了,此时就需要刷新输入缓冲区。题目:先来看一个栗子:实现登录时确认密码,输入Y即确认成功,N表示放弃确认。int main() { char password[20...
  • Redis异常分析-输入缓冲区过大

    千次阅读 2017-07-13 20:55:41
    Redis异常分析-输入缓冲区过大 一.输入缓冲区概念 Redis为每个客户端分配了输入缓冲去,它的作用是将客户端发送的命令临时保存,同时Redis会到输入缓冲区拉取命令并执行,输入缓冲区为客户端发送命令道Redis执行...
  • cin的用法及清空输入缓冲区问题

    万次阅读 多人点赞 2014-07-02 14:34:13
    程序的输入都有一个缓冲区,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中读取数据。这种缓冲机制规定,只有收到回车键时,才会将所有输入的数据一次性提交到cin函数。回车标志一...
  • Java清空输入缓冲区的一种方法

    万次阅读 2017-03-13 23:20:45
    在一个循环体内,对一个整型变量进行输入,如果输入的不是整数,则会输出异常,并且变成死循环 使用Scanner的nextInt时,如果输入的是一个字符的话,就会有InputMismatchException异常产生,用一个while(true)循环...
  • 输入缓冲区的清除问题

    千次阅读 2015-04-13 15:31:26
    在做C++primer习题过程中,最近遇到一个问题,这个题目就是3.3,那就是输入缓冲区的清除问题,一开始没考虑到这方面的问题,后来运行时出现了点问题。经资料查找与学习,现总结如下: 一、cin.clear()、cin.sync() ...
  • 临时存储区称为缓冲区,所有标准输入和输出设备都包含输入和输出缓冲器。在标准C / C ++中,流是缓冲的,例如在标准输入的情况下,当我们按键盘上的键时,它不会发送到您的程序,而是由操作系统缓冲,直到时间被分配...
  • scanf()函数和getchar()函数是从输入缓冲区得到字符数据的,所以会出现下次接受字符为\n的情况,这种情况可以用一下两个方法: 方法1:C语言里提供了函数清空缓冲区,只要在读数据之前先清空缓冲区就没问题。 这个...
  • C语言中输入缓冲区的处理是一个坑,当程序做大的时候,当我们频繁的输入字符型的数据的时候就会遇到,之前看到过课本上简单的处理方法使用fflush()函数可getchar(),但是前者在新版的VS效果不理想,后者也只能去除一...
  • c++/c里面的输入缓冲区

    万次阅读 2019-12-26 11:05:42
    scanf先在输入缓冲区中检查时候有数据,如果输入缓冲区中有数据,就直接从输入缓冲区中读取数据。如果输入缓冲区中是空的,程序就会暂停,等待用户输入数据。 比如:scanf("%c", &x); 如果输...
  • 在C / C ++中清除输入缓冲区

    万次阅读 2017-06-04 21:46:23
    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:《手把手教你架构3D游戏... 临时存储区称为缓冲区,所有标准输入和输出设备都包含输入和输出缓冲器。在标准C / C +
  • Linux下如何清空输入缓冲区

    千次阅读 2015-11-08 22:51:46
    今天在Linux下编写数据结构课程的一个旅游管理程序时,遇到了一些有关键盘输入缓冲区的问题。 使用scanf函数进行等待用户输入时,用户输入完会在缓冲区里遗留一个换行符 '\n',如果不清除掉这个换行符,就会在下一...
  • scanf()中清除输入缓冲区的几种方法归纳

    千次阅读 多人点赞 2016-01-19 23:19:22
    又重新过一遍C语言,感觉每次重学C语言都有不同的感受,遇到了一个问题,就是scanf()...应用场景:我们使用多个scanf()的时候,如果输入缓冲区还有数据的话,那么scanf()就不会询问用户输入,而是直接就将输入缓冲区的内容拿出
  • 21 Redis 缓冲区的用法

    万次阅读 2021-12-09 22:11:39
    21 Redis 缓冲区的用法前言一、客户端输入和输出缓冲区二、输入缓冲区溢出的应对方法三、输出缓冲区溢出的应对方法四、主从集群中的缓冲区总结 前言 缓冲区的功能是用一块内存空间来暂时存放命令数据,以免出现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 369,577
精华内容 147,830
关键字:

输入缓冲区