由于Linux中的文件都是文件,我想在终端窗口打印到打开的控制台。
我在Linux中打开了控制台并编写了命令tty
。在输出中我有:
/dev/pts/25
这是从foo
文件复制到bar
和控制台的所有程序:
/* Trivial file copy program using low-level I/O */
#include <fcntl.h>
#include <stdlib.h>
#define BSIZE 16384
void main()
{
int fin, fout,con; /* Input and output handles */
char buf[BSIZE];
int count;
if ((con = open("/dev/pts/2", O_WRONLY)) < 0) {
perror("open con ");
exit(1);
}
if ((fin = open("foo", O_RDONLY)) < 0) {
perror("foo");
exit(1);
}
if ((fout = open("bar", O_WRONLY | O_CREAT, 0644)) < 0) {
perror("bar");
exit(2);
}
while ((count = read(fin, buf, BSIZE)) > 0)
{
write(fout, buf, count);
write(con, buf, count);
}
close(fin);
close(fout);
close(con);
}
不幸的是,当bar
包含所需信息时,控制台窗口中没有任何内容。如何写入控制台终端窗口?
我在Linux中打开了控制台并编写了命令tty
。在输出中我有:
/dev/pts/25
这个程序可以复制从qazxsw poi文件到qazxsw poi和console的所有内容:
foo
你的程序只打开一个与bar
不同的设备…
if ((con = open("/dev/pts/2", O_WRONLY)) < 0) {
…
,你说它是你的控制台。