💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 简介 ~~~ cin.get() //一次只能读取一个字符 cin.get(一个参数) //读一个字符 cin.get(两个参数) //可以读字符串 cin.getline()//取一行,换行符丢弃 cin.ignore()//忽略 cin.peek()//偷窥 cin.putback()//放回 ~~~ # 代码 ## 读取单个字符 ~~~ char c = cin.get(); cout << "输出: " << c << endl; ~~~ ## 支持链式调用 ~~~ char ch1, ch2, ch3, ch4; cin.get(ch1).get(ch2).get(ch3).get(ch4); cout << ch1 << ch2 << ch3 << ch4 << endl; ~~~ ## 缓冲区读取 ~~~ char buf[1024] = { 0 }; cin.get(buf, 1024);//读取缓冲区时,换行不拿走 char c = cin.get(); if (c == '\n') { cout << "换行还在缓冲区" << endl; } cout << buf << endl; ~~~ ## 读取一行数据 ~~~ char buf[1024] = { 0 }; cin.getline(buf, 1024);//读取缓冲的一行数据,换行符丢弃 char c = cin.get();//阻塞 if (c == '\n') { cout << "换行还在缓冲区" << endl; } cout << buf << endl; ~~~ # 忽略字符 ~~~ cin.ignore(3); //里面是几就忽略几个 char c1 = cin.get(); cout << c1 << endl; ~~~ # 偷窥第一个字符 ~~~ char c = cin.peek();//偷窥第一个字符 cout << c << endl; char c2 = cin.get(); cout << c2 << endl; ~~~ # 放回一个字符 ~~~ char c = cin.get(); cout << c << endl; cin.putback(c);//放回 char buf[1024] = { 0 }; cin.getline(buf, 1024); cout << buf << endl; ~~~ ## 清空缓冲区和重置标识位 ~~~ //重置标志位 cin.clear(); //清空缓冲区 cin.sync(); ~~~