LinuxI/O文件编程终端控制

Linux打开多个虚拟终端,运行测试下程序。

#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<stdlib.h>
#define TTY0 "/dev/pts/0"       //终端设备文件名
#define TTY1 "/dev/pts/1"
#define TTY2 "/dev/pts/2"
#define TTY3 "/dev/pts/3"
void tty_write(char* tty,char* buf)
{

int fd = -1;
        fd = open(tty,O_RDWR);
        if(fd < 0){
                printf("open tty err\n");
                exit(0);
        }
        write(fd,buf,strlen(buf));
        close(fd);
}
int main()
{
        char buf[] = "test tty...\n";
        char tty[32];
        strcpy(tty,TTY1);
        tty_write(tty,buf);
        strcpy(tty,TTY3);
        tty_write(tty,buf);
        return 0;
}

时间: 2024-12-27 22:08:13

LinuxI/O文件编程终端控制的相关文章

终端控制和和信号——《Unix/Linux编程实践教程》读书笔记(第6章)

1.有些程序处理从特定设备来的数据.这些与特定设备相关的程序必须控制与设备的连接.Unix系统中最常见的设备是终端. 2.终端驱动程序有很多设置.各个设置的特定值决定了终端驱动程序的模式.为用户编写的程序通常需要设置终端驱动程序为特定的模式. 3.键盘输入分为3类,终端驱动程序对这些输入做不同的处理.大多数建代表常规数据,它们从驱动程序传输到程序.有些键调用驱动程序中的编辑函数.如果按下删除键,驱动程序将前一个字符从它的行缓冲中删除,并将命令发送到终端屏幕,使之从显示器中删除字符.最后,有些键调

shell脚本编程——流程控制

shell脚本编程--流程控制 目   录 一. if 二. case 三. for 四. while 五. until 六. 综合应用 一.if 1.语法 (1)单分支 if  判断条件:then fi (2)双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi (3)多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then 条件为真的分支代码 else 以上条件都为假

Linux文件编程实例

//捕获fopen调用中的错误 #include <stdio.h> #include <errno.h> #include <string.h> #define MYFILE "missing.txt" int main(  ) { FILE* fin; fin=fopen( MYFILE,"r" ); if( fin==(FILE*)NULL ) { printf( "%s: %s\n",MYFILE,st

文件权限的控制及进程和服务的控制

一文件权限的控制1.权限存在的意义r:可读取文件的实际内容w:可以编辑,新增或者修改该文件的内容,如果没有r权限.无法wx:该文件拥有被系统执行的权力2.权限的识别ls -l file 查看文件的详细信息 ls -ld dir 查看目录的详细信息 权限的查看与理解文件权限) rw-r--r-- 1 root root 216 May 12 2017 /mnt/rht[1]文件类型 普通文件d 目录l 软链接(类似与windows下的快捷方式)s 套接字c 字符设备/dev/pts/下[2]rw-

C言语模块化开辟(多文件编程)

你好,欢迎离开「C言语模块化开辟」专题,在这里你将进修到大中型程序开辟技巧.本专题由C言语中文网站长执笔,将多年的编程经历灌注贯注个中,典型的理论派,你可以猛击<关于作者><若何才干完成这部教程>理解教程面前的故事.到今朝为止,我们编写的大局部C言语程序都只包括一个源文件,没有将代码疏散到多个模块中,关于只要几百行的小程序来说这或答应以承受,但关于动辄上万行的大中型程序,将一切代码都集中在一个源文件中几乎是一场灾害,后续浏览和保护都将称为顺手的成绩.在C言语中,我们可以将一个.c文

linux应用程序开发-文件编程-系统调用方式

在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为linux应用程序开发的一个系列吧! 文件编程有两种方式,一是系统调用方式,二是库函数调用. 前者依赖特定的平台,后者不依赖平台. 系统调用:创建 int creat(const char *filename,mode_t mode); filename:要创建的文件名 mode:创建模式 S_IR

多功能电子通讯录(涉及到了双向链表的使用,Linux文件编程等等)

readme.txt //作为一个程序员,我们咋么能不写用户手册呢!MSP的我觉得用户体验是王道,苹果手机的用户体验的确不错!不过WP加油!我去,扯远了!赶紧看我的程序吧!  歡迎使用多功能電子通訊錄V1.0版本        如有BUG敬請原諒     make  之後便可以使用     ./ebook  運行本程序     make clean 清理本程序中間文件     make cleanall 清除所有非源程序文件 PS:我本想直接给大家看代码的,但是在这个过程中,重要不仅仅是代码,首

文件编程file_copy.c

//Linux文件编程 — — 系统文件调用中的file_cp.c//待修改... 1 #include <stdio.h> 2 #incldue <sys/stat.h> 3 #include <fcntl.h> 4 #include <errno.h> 5 6 #define BUFFSIZE 1024 7 8 int main(int argc, char *argv[]) 9 { 10 int from_fd, to_fd; 11 int bytes

非缓冲文件编程(实时操作)

在下面情况下需要非缓冲文件编程. //银行数据安全要求严格 //键盘,鼠标,显卡设备 1.文本文件读写操作: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include<io.h> #include<fcntl.h>//文件打开,设置文件打开模式,就是下面的一大列函数. #include<sys/stat.h>//系统底层,sys表示驱动,stat