c++ system 运行程序 中文路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ system 运行程序 中文路径相关的知识,希望对你有一定的参考价值。

c++ 编写一个程序(A), 程序里头运行另一个程序(B) ,这个程序的绝对路径里含有中文怎么办
例如:
A中的语句为:

system("notepad c:哈喽\\hello.exe");
B中的语句为:
printf("hello");
system("notepad c:\\哈喽\\hello.exe");

如果路径里中文也不是不可以。
一个程序,去调用另一个程序的话,可以用创建进程的方法来调用。
用CreateProcess函数来调用B程序。
你可以查一下CreateProcess的用法。
路径里有中文是没有问题的。
参考技术A 这个有中文也可以的,但是你不能用notepad打开.exe文件。 比如打开.txt 文件 ,比如打开.cpp文件 你都可以打开的。 参考技术B 在vc中尽量不要包含中文和或者空格。 参考技术C 把中文改成英文。

C++调用bat后,为啥运行完不出结果

做一个压缩的东西
调用出来bat程序,画面也显示压缩完成,但是去目录找却没有
单独启动bat程序压缩文件却能成功并生成zip文件,这是为什么
用的是system()的方法

看你bat里面是怎么写的。
按照如下过程排查:
1 启动命令行,调用bat, 看是否工作正常。 先排除bat本身问题。
2 在bat里面加一句打印, 看system的时候是否输出, 确定bat被正确调用。
3 在bat里面所有的路径改成绝对路径, 确定不是相对路径的问题。
这三个排查下来 应该就能搞定了。来自:求助得到的回答
参考技术A 单纯 bat 本身并不具备隐藏运行的功能 不过用vbs调用bat就可以实现 Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 2002.bat",vbhide 这个就是vbs调用同目录下 名为 2002.bat 的批处理隐藏运行

以上是关于c++ system 运行程序 中文路径的主要内容,如果未能解决你的问题,请参考以下文章

Winform 程序运行路径

获取当前程序路径的方法C++和C#的做法

获取当前程序路径的方法C++和C#的做法

从 R 调用时,C++ 程序不会运行(符号查找错误)

如何在 gedit 中使用外部工具交互式运行 C++ 程序

wine运行程序时报错问题