国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LINUX終端編程

2019-11-08 18:45:47
字體:
來源:轉載
供稿:網友

  如果想知道標準輸出是否被重定向了,只需要檢查底層的文件描述符是否關聯到了一個終端即可。系統調用isatty就是用來完成這個任務的。 你只需要將有效的文件描述符傳遞給它,它就能判斷是否連接到了一個終端。   linux提供了一個特殊的設備/dev/tty來解決對終端的讀寫問題,這個設備始終指向當前終端或當前登錄的會話,由于linux把一切事物都當作 文件來看,所以,我們可以像操作一般的文件來操作對/dev/tty的讀寫。

#include <stdio.h> #include <unistd.h> #include <stdlib.h> char *menu[] = { "a - add new record", "d - delete record", "q - quit", NULL, }; int getchoice(char *greet, char *choices[], FILE *in, FILE *out); int main() { int choice = 0; FILE *input; FILE *output; if (!isatty(fileno(stdout))) { f重定向標準輸出到文件,此時stdout不是終端,所以輸出如下:

gcc putty.c ./a.out >file You are not a terminal,OK.

正常執行如下:

./a.out You have chosen: a Choice: Please select an action a - add new record d - delete record q - quit d You have chosen: d Choice: Please select an action a - add new record d - delete record q - quit c Incorrect choice, select again Choice: Please select an action a - add new record d - delete record q - quit


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平顶山市| 丹巴县| 土默特右旗| 孙吴县| 绥江县| 墨江| 蒙阴县| 霍邱县| 准格尔旗| 延津县| 馆陶县| 通江县| 察雅县| 葫芦岛市| 沂源县| 临朐县| 资溪县| 平阴县| 阿拉善左旗| 永川市| 山丹县| 钟山县| 浮梁县| 兰坪| 临泉县| 孟村| 全椒县| 太原市| 扶沟县| 崇义县| 顺平县| 鱼台县| 麻江县| 黑水县| 资阳市| 正阳县| 宁明县| 曲麻莱县| 延津县| 广东省| 剑河县|