C++和C中的输入输出总结、标准输入/标准输出/标准错误与重定向,>>、>、<、<<

标准输入/标准输出/标准错误与重定向

0表示标准输入。1表示标准输出。2标准错误。1和2都是默认是输出到屏幕。

linux中的>>、>、<、<<:这些符号是Linux中用于重定向输入和输出的特殊符号:

1.标准输出:

  • ">" 用于将命令的标准输出(stdout)重定向到一个文件中,例如:
$ ls >files.txt

这将把 ls 命令的输出写入 files.txt 文件中,如果文件不存在则创建,如果文件已存在则覆盖。

  • ">>" 用于将命令的标准输出(stdout)追加到一个文件中,例如:
$ echo "Hello, World!" >> greeting.txt

这将把 "Hello, World!" 追加到 greeting.txt 文件的末尾。如果文件不存在则创建,如果文件已存在则在末尾追加。

2.标准输出

  • "<" 用于从一个文件中获取输入,例如:
$ sort < unsorted.txt > sorted.txt

这将从 unsorted.txt 文件中获取输入,然后将排序后的输出重定向到 sorted.txt 文件中。

  • "<<" 用于在命令行中输入多行文本,例如:
$ cat << EOF > greeting.txt
> Hello, World!
> EOF

这将允许你在命令行中输入多行文本,然后将其重定向到 greeting.txt 文件中。在第一个 << 后面的文本 EOF 是一个终止符号,表示输入结束。

3.标准错误
比如如下程序test.cpp:

#include<cstdio>
#include<stdlib.h>
int main(int argc, char **argv){
        perror("sss\n");
        exit(-1);
        return 0;
}
g++ test.cpp
./a.out 2> error.txt

输出:

sss
: File exists

有比如xfile不存在的情况下执行下面命令:

ls -l xfile 2> log
cat log

参考:标准输入/标准输出/标准错误与重定向

posted @ 2023-02-19 14:15  好人~  阅读(272)  评论(0编辑  收藏  举报