C++ cin>> 与 cin.get()

  1. 原理:当cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。 若:不想略过空白字符,那就使用noskipws流控制。比如cin>>noskipws>>input;

  2. 如果到了文件末尾while(cin >> str){}// 能够自动退出。
    如果使用scanf(); while(scanf("%d", &n) == EOF){}

  3. ch = cin.get()执行成功则ch被赋值键入的字符;
    执行失败ch则被赋值为ASCII为-1的字符; cout << (int)ch << endl; // 输出 -1

posted @ 2022-01-06 13:52  子于舟  阅读(96)  评论(0)    收藏  举报