对system()的调用与在命令提示符(cmd)中的行为不同
Calls to system() do not behave the same way as in command prompt (cmd)
我需要剪切&通过C++中的代码将一个文件夹粘贴到另一个文件夹中。但有些目录名是有问题的,比如那些带有日语符号的目录名。但是,通过cmd
引入的相同命令都可以正常工作。
system("move dirName dirName2"); //work
system("move ディレクトリ dirName2"); //does not work (system cannot find the specified file)
system("move ディレクトリ.txt dirName2"); //work
有趣的是,如果带有日语符号的项目是一个文件而不是一个文件夹,那么即使使用对system()
的调用,该操作也可以正常工作。
我不知道为什么对system()
的第二次调用不起作用,也不知道如何解决它
附言:我使用的是Windows7。
"move-dirName dirName2",它是const-char*类型,而日语字符不是ASII字符,您应该在这里使用unicode API,尝试:
_wsystem(L"move ディレクトリ dirName2")
您可能需要使用_wsystem
来适应宽字符。有关详细信息,请参阅相关的MSDN页面,但调用的语法相同。
相关文章:
- 如何使用ndk-build.cmd构建Android.so文件
- 如何在c++中使用system()来运行包含空格的python脚本
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- C++/CLI System.AccessViolation在托管类中调用非托管函数时出现异常
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- 如何在使用Makefile构建后在cmd中运行该程序?
- 程序在使用 system() 启动另一个可执行文件时停止
- 为什么我的 DeviceInformation 对象没有 System.Devices.InterfaceClassGuid 属性?
- 为什么"using System;"不被视为不良做法?
- C++ 合并字符串以'system'函数错误
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- 为什么下面的Hello World程序在PowerShell上没有显示任何输出?同一程序在CMD上显示正确的输出
- 将 Vcl::Controls::TCaption aka (System::UnicodeString) 转换为 co
- 使用 system() 函数在C++程序中运行 cmd 命令
- 如何使用System()函数[C ]将CMD存储器存储在C 中
- C 如何通过同一MFC应用程序通过System Command打开Excel文件后关闭CMD EXE
- VC++ std::system() API 在调用 CMD.exe 后立即返回
- 在C++中使用system()运行2个或多个cmd命令
- 对system()的调用与在命令提示符(cmd)中的行为不同