IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> vscode在写算法的时候的数据的重定向输入输出 -> 正文阅读

[开发工具]vscode在写算法的时候的数据的重定向输入输出

问题产生

首先我是在刷算法时遇到的问题,比如在acwing 上刷题时 , 评测时,不会说我的那个数据出问题了 ,一个一个找错误数据又显得呆呆的,因此,我想要一个在编译器中就显示的那个数据错了的样子

我实现的样子

请添加图片描述

配置输入输出重定向

关于输入输出的问题 我是在task.json 里面解决的,用cat 命令重定向输入输出就可以完成程序从文本中取出数据

一下是我的task。json 文件

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build c++ as mac",
      "type": "shell",
      "command": "g++",
      "args": [
        "-g",
        "${file}",
        "-std=c++17",
        "-o",
        "${workspaceRoot}\\exes\\${fileBasenameNoExtension}.exe"
      ],
      "group": "build",
      "presentation": {
        "echo": true,
        "focus": false,
        "panel": "shared",
        "showReuseMessage": true,
        "clear": false,
        "reveal": "silent"
      }
    },

    {
      "type": "shell",
      "label": "build c++ as win", // 任务名称,与launch.json中对应,使用g++编译cpp文件,并在同目录下生成可执行文件
      "command": "g++",
      "args": [
        "-g", // 生成和调试有关的信息
        "${file}",
        "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
        "${workspaceRoot}\\exes\\${fileBasenameNoExtension}.exe"
      ],
      "problemMatcher": ["$gcc"],
      "group": "build"
    },

    //  可以直接复制这个 上面的不管
    {
      "type": "shell",
      "label": "redirection run", // 使用g++编译程序,令生可执行文件生成在exes文件夹中,并使用重定向完成输入输出 这里的引号($那些东西)可以改成绝对路径 只要vscode能找到你的exe文件就得
      "command": "g++ -g ${file} -o ${workspaceRoot}/exes/${fileBasenameNoExtension}.exe ; cat ${workspaceRoot}/redirection/input | ${workspaceRoot}/exes/${fileBasenameNoExtension}.exe > ${workspaceRoot}/redirection/your_output",
      "problemMatcher": ["$gcc"]
    }
  ]
}

这个要注意先创建文件 我的是 在目录redirection 下的 三个文件 expect_answet(程序正确的值) input (程序需要输入的值) your_output (你写的程序输出的值 这个可以删掉因为每次生成的都是覆盖旧的) 还有一个exes文件夹 存放生成的exe文件 (因为文件多了 就不好看了)

那么接下来就可以使用了
使用 ctrl + shift + p 然后搜索 run task 点击run task (运行任务) 再点击 redirection run(上面json出现的label)就可以运行了

这个是不是太麻烦了 当然vscode还有快捷键可以用啊 配就完事了
ctrl + shift + p 搜索 keyboard shortcuts 点击 第一个
请添加图片描述

然后就到了 keybindings.json 文件里了

然后添加下面的话 注意每个大括号是要用’ ,‘分隔的这个只是其中一个 如果你配置了其他快捷键应该会有很多映射关系

  {
    "key": "ctrl+r",
    "command": "workbench.action.tasks.runTask",
    "args": "redirection run"
  }

那么当你想使用重定向输入输出时就直接使用 ctrl+ r 就可以实现了

比较差异

解下来有了输入输出,就应该是比较了

我是直接用vs code 自带的比较功能进行比较了 这样子有差异的地方会有高亮显示

请添加图片描述

这样子就会显示这两个文件的差异在哪里了

那么接下来就拖拽排版就行了

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:19:38  更:2022-04-15 00:21:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:35:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码