完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
主要是这两段程序不懂,那个stdout和stderr不懂。。
void OutputStdChar(FILE *File) {//向设备写数据,打开一个串口,声明并且定义该函数 char Buffer[10]; int Len = sprintf(Buffer, OutputHex ? "%.2X " : "%c", Char);//将char中数据写到buff中 fwrite(Buffer, 1, Len, File);//将 buffer 中的数据写入到file中去,写入的 len个字符数 } if (FD_ISSET(CommFd, &ReadSetFD)) {//判断串口是否可读 while (read(CommFd, &Char, 1) == 1) {//从串口中读取一个值 WaitFdWriteable(TtyFd);//等待终端可写 if (write(TtyFd, &Char, 1) < 0) { Error(strerror(errno)); } if (OutputToStdout) { if (UseColor) fwrite("x1b[01;34m", 1, 8, stdout); OutputStdChar(stdout);//向设备写数据,stdout标准输出,默认是终端 if (UseColor) fwrite("x1b[00m", 1, 8, stdout); fflush(stdout); } } } if (FD_ISSET(TtyFd, &ReadSetFD)) {//判断终端是否可读 while (read(TtyFd, &Char, 1) == 1) { static int EscKeyCount = 0; WaitFdWriteable(CommFd); if (write(CommFd, &Char, 1) < 0) { Error(strerror(errno)); } if (OutputToStdout) { if (UseColor) fwrite("x1b[01;31m", 1, 8, stderr);//标准输出(设备)文件,对应终端的屏幕 OutputStdChar(stderr);//??? if (UseColor) fwrite("x1b[00m", 1, 8, stderr); fflush(stderr); } |
|
相关推荐
3个回答
|
|
|
|
|
|
|
|
|
那这句是什么意思呢?fwrite("x1b[01;31m", 1, 8, stderr);
|
|
|
|
|
|
stdout是标准输出 有缓存 遇到n 或缓存满 或遇到输入函数 答应到屏幕
stderr是标准出错 没缓存 直接打印到屏幕 fwrite("x1b[01;31m", 1, 8, stderr) 中 的字符串估计是一种控制台编码 比如改变输出字符颜色。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard-文件I/O的深入学习之阻塞I/O与非阻塞I/O
307 浏览 0 评论
大神们,想知道你们都用什么ide编程调试器? Arduino IDE?还是 e2studio ?还有其他吗?哪个好用呢
459 浏览 0 评论
825 浏览 0 评论
790 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之复制文件描述符
717 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:49 , Processed in 0.644799 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1829