首页 > 编程语言 >C++和C中的输入输出总结、标准输入/标准输出/标准错误与重定向

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

时间:2023-02-19 14:23:14浏览次数:51  
标签:输出 重定向 文件 输入输出 C++ 标准 txt 输入

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

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

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

标签:输出,重定向,文件,输入输出,C++,标准,txt,输入
From: https://www.cnblogs.com/codingbigdog/p/17134693.html

相关文章

  • TensorRT教程(六)使用Python和C++部署YOLOv5的TensorRT模型
    前言 今天这里主要介绍使用Python部署TensorRT的模型以及使用C++部署TensorRT的模型这两种方法。其实在日常部署的工作中,更多是使用C++进行部署,因为这样可以更加丝滑地迁......
  • C++20学习-2 msys2安装
    可以直接从官网下载,但需要配置加速域名,麻烦,可以直接在清华网站上下载。下载站:https://mirrors.tuna.tsinghua.edu.cn/右键配置:msys2配置如何添加右键打开,软件包管理......
  • c++学习9 结构体
    一结构体赋值结构体赋值的方法有三种,逐个成员赋值,整体赋值和拷贝赋值。设一个结构体有struckstudent{intage;charch[32];};逐个成员赋值:studenttony={16,"tony"};......
  • C++栈上创建对象和堆上创建对象
    一、在栈(Stack)上创建对象Student是一个类,创建一个实例化对象:Studentstu;下面进行创建对象指针的操作(非必须):上面代码中创建的对象stu在栈上分配内存,需要使用&获取......
  • 如何一眼分辨是C还是C++
    C语言的历史​C语言是由贝尔实验室的DennisRitchie在20世纪70年代初开发的一种通用程序设计语言。在早期的计算机时代,许多计算机使用不同的汇编语言编写程序,这导致了程序的......
  • C++基于面向对象思想的ATM 系统设计与实现(三级项目)[2023-02-19]
    C++基于面向对象思想的ATM系统设计与实现(三级项目)[2023-02-19]实验二基于面向对象思想的ATM系统设计与实现(三级项目)一、实验目的:(1)掌握派生类的使用方法。(2)......
  • Spring IOC官方文档学习笔记(十一)之使用JSR 330标准注解
    1.使用@Inject和@Named进行依赖注入(1)Spring提供了对JSR330标准注解的支持,因此我们也可以使用JSR330标准注解来进行依赖注入,不过,在此之前,我们得先使用maven添加相关依......
  • PAT-basic-1025 反转链表 java c++
    一、题目给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为1→2→3→4→5→6,K 为3,则输出应该为3→2→1→6→5→4;如果 K ......
  • CodeRunner支持C++11
    1、打开设置2、添加C++113、测试以下代码,运行成功即可#include<cstring>#include<cstdio>#include<iostream>#include<iostream>#include<tuple>#include<......
  • C++关键字
    一、overrideoverride的翻译是覆盖。实际上它在C++中可以检测哪些虚函数没有被重写并报错注:在派生类的成员函数中使用override时,如果基类中无此函数,或基类中的函数并不是......