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()的方法
按照如下过程排查:
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 运行程序 中文路径的主要内容,如果未能解决你的问题,请参考以下文章