我已经阅读了GNU 手册tcsetattr(),它指出该函数具有三个参数:一个文件描述符、一个解释如何处理排队 I/O 的值和一个指向struct termios. 但是,我不明白不同值 ( TCSANOW, TCSADRAIN, TCSAFLUSH, TCSASOFT)之间的区别是什么。
有人可以解释一下吗?
这是练习:
编写一个名为的函数
monthName(),它将一个类型的值作为其参数enum month(如本章所定义),并返回一个指向包含月份名称的字符串的指针.通过这种方式,您可以enum month使用以下语句显示变量的值 :
printf("%s\n", monthName(aMonth));
我写了我的版本并获得了我期望的输出.但是,我确信必须有一个更好的方法来实现它,而不必每个月使用一个case的switch语句.如何用更好的设计编写这个功能?
#include <stdio.h>
enum month { January = 1, February, March, April, May, June,
July, August, September, October, November, December };
char *monthName(enum month m){
switch (m) {
case January:
return "January";
break;
case February:
return "February";
break;
case March:
return "March";
break;
case April:
return "April";
break;
case May:
return "May";
break;
case June:
return "June";
break;
case July:
return "July";
break;
case August:
return "August"; …Run Code Online (Sandbox Code Playgroud)