来自C 应用程序的运行系统命令与Commandline不同
Running system command from C++ application differs from commandline
我想从C 应用程序执行命令。我这样使用:
system("sendEmail.exe -f someone@somewhere.com -t ...");
这在Windows Server 2008以及其他系统上都起作用。但是,它在我的新服务器(Windows Server 2012)上没有工作,它似乎可以调用命令,但从未完成。如果我在命令窗口中键入完全相同的命令,则可以正常工作。
我尝试使用
system("cmd.exe /C "sendEmail.exe -f someone@somewhere.com -t ..."");
但这无济于事。
任何人都知道从系统调用C 和在CMD中运行的区别是什么?
编辑:问题不再可再现了。感谢您的快速答案
尝试
system("cmd.exe");
没有参数这只会打开A cmd 窗口,然后将其打开。从该窗口可以调用 sendmail.exe ,看看发生了什么。也许只是一个不同的路径设置或权限问题。
作为替代方案,您可以使用Windows API函数CreateProcess
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 从不同线程使用int64的不同字节安全吗
- valgrind-hellgrind与泄漏检查的结果不同
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 函数向量_指针有不同的原型,我可以构建一个吗
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 访问者访问变体并返回不同类型时出错
- #为""定义宏;静态";针对不同的上下文
- 不同翻译单元中不可重载的非内联函数定义
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 通过继承类使用来自不同命名空间的运算符
- 我想做一个彼此不同但重复出现的数字
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 大小相等但成员数量不同的结构之间的性能差异
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- c++类声明时,相同的例程,不同的成员变量类型
- Python中的for循环与C++有何不同
- 为测试目标创建具有不同源文件夹的文件
- 来自C 应用程序的运行系统命令与Commandline不同