【问题标题】:C++ ':chcp' is not recognized as an internal or external command, operable program or batch fileC++ ':chcp' 不是内部或外部命令、可运行程序或批处理文件
【发布时间】:2019-01-11 06:09:13
【问题描述】:

(在问题之前:如果有人不将此线程标记为重复,我将不胜感激,因为尽管我搜索了很多,但没有任何接近我的问题,只有其他编程语言和编译器或不同的操作系统)

我使用的是 Dev C++,我在调试输出时使用希腊字符 (system("chcp 1253");) 的程序后,但是当我运行它时,所有字符都无法读取,并且看到了上面的这条消息:

基于网络上的一些非常接近的问题(hereherehere)我认为我的路径也坏了,所以我在 cmd 上使用“check chcp”检查了它,它显示正确的路径 (c:\Windows\System32\chcp.com)。

screenshot here

有没有人遇到过同样的问题?

【问题讨论】:

  • 当您使用系统从您的程序运行“检查 chcp”时会发生什么?或者,类似地,“在哪里 chcp”?
  • "check chcp" 给了我同样的错误。我找到了一种解决方法,将 chcp 的整个路径放在我的代码中 [ system("C:\\Windows\\System32\\chcp.com 1253"); ],但我想知道是什么原因造成的,我该如何解决。
  • 是的,它只是在 Dev-C 中发生在我身上。奇怪的是,我先安装了 TDM-GCC-32,然后安装了一个空的 Dev-C(没有编译器),而 dchp 的这个问题并不存在。但是,由于调试器出现问题,我卸载了所有内容并使用编译器重新安装了 Dev-C,并且出现了此错误。使用您的解决方案,它已得到解决,但我仍然想知道它为什么会发生......对我来说都是希腊语。
  • @YannisDran 如果我不得不猜测,我会说您机器上的某些软件与您的系统路径和环境变量混淆了。一个新的编译器或删除另一个编译器可能是负责任的。 Windows 非常热衷于这些“怪癖”。

标签: c++ windows


【解决方案1】:

要将 chcp 的路径重新设置到编译器,我只需将 Windows 文件夹中的整个路径输入到我的程序中:

system("C:\\Windows\\System32\\chcp.com 1253");

这也适用于没有完整路径的情况:

system("chcp.com 1253");

然后我不得不去掉它的“.com”部分,使它成为:

system("chcp 1253");

仍然是一种变通方法,但省时且无风险。

【讨论】:

  • 在我的机器上使用 Visual Studio 可以正常工作。听起来PATHEXT 环境变量不知何故丢失了。
  • Netbeans 有点搞砸了我的路径,所以我下次会尽量小心。
猜你喜欢
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-07
  • 2018-08-25
  • 2014-06-01
  • 2022-01-06
  • 2016-07-07
相关资源
最近更新 更多