C/C++中peek函数的原理及应用详解编程语言
2023-06-13 09:20:35 时间
C++中的peek函数
该调用形式为cin.peek() 其返回值是一个char型的字符,其返回值是指针指向的当前字符,但它只是观测,指针仍停留在当前位置,并不后移。如果要访问的字符是文件结束符,则函数值是EOF(-1)。
其功能是从输入流中读取一个字符 但该字符并未从输入流中删除 若把输入流比作一个 栈类 那么这里的peek函数就相当于栈的成员函数front 而如果cin.get()则相当于栈的成员函数pop。
下面这段代码能帮助您更清晰地理解peek函数
1 /* istream peek */ 2 #include iostream 3 using namespace std; 4 int main () 5 { 6 char c; 7 int n; 8 char str[256]; 9 cout "Enter a number or a word: "; 10 c=cin.peek(); 11 if ( (c = 0) (c = 9) ) 12 { 13 cin n; 14 cout "You have entered number " n endl; 15 } 16 else 17 { 18 cin str; 19 cout " You have entered word " str endl; 20 } 21 return 0; 22 }C中的peek函数(自己写的)
1 char peek_char; 3 static char peek() 4 { 5 return peek_char; 6 } 8 static void * __Peek_loop_func(void *pInputArg) 9 { 10 char tmp_char; 11 while(1) 12 { 13 if(tmp_char=getchar()) 14 { 15 if((tmp_char!=/r) (tmp_char!=/n) (tmp_char!=0x0a)) 16 { 17 peek_char=tmp_char; 18 printf("Input Char === [%c] /n",peek_char); 20 if(peek_char==q) 21 { 22 printf("Jmp out from serial == 2 /n"); 23 exit(1); 24 } 25 } 26 } 27 usleep(1000*10); 28 } 29 } 31 // 下面的代码放在主程序中,用来创建检测输入的线程. 33 pthread_t tPeekThreadHandle; 34 pthread_create( tPeekThreadHandle, NULL, __Peek_loop_func, NULL);
如何在主程序运行的同时检测串口的输入,比如输入 q ,退出函数。原理就是创建一个新线程,来接收串口的输入,如果输入的第一字符为‘q’ 则退出程序,其实在退出的时候,我们也可以再捕获一下。
11848.html
cjava相关文章
- EasyC++28,const和指针
- C++——随机数算法
- 深入理解C++11_c++ string char
- 用C++Builder 6编写VCL控件
- C/C++——打开文件读取数据的各种方式「建议收藏」
- c++中无法打开源文件_无法打开源文件iostream
- C++中的stringstream及其应用
- 如何在不使用 sizeof 的情况下在 Cu002FC++ 中找到数组的大小?
- C/C++ Qt 基础通用组件的应用
- fscanf读取一行字符串-C++的学习之路---12
- C++ Boost 函数与回调应用
- C/C++ Qt TreeWidget 单层树形组件应用
- C/C++ Qt ListWidget 列表框组件应用
- C++ Postfix Completion VSCode 插件
- 【C++修炼之路】6. 内存管理
- 【C++修炼之路】25.哈希应用--布隆过滤器
- 【C++】哈希的应用 -- 位图
- c++语法基础课杂记
- C++ hash(STL hash)及其函数模板用法详解
- C和MySQL的结合应用实例研究(c++ mysql 实例)
- 表c与mysql结合列表构建之道(c++ mysql 列)
- C与Oracle高效协作,提升效率优化流程(c++?用oracle)
- c++STL容器总结之:vertor与list的应用
- C++explicit关键字的应用方法详细讲解
- C++中引用(&)的用法与应用实例分析
- c++将引用或者是指针作为函数参数实现实参的运算
- C++编程小心指针被delete两次
- C++中fstream,ifstream及ofstream用法浅析