【发布时间】:2013-04-12 01:26:27
【问题描述】:
我目前正在学习如何处理命令行参数。我有一个程序需要调用另一个程序,都是用 C++ 编写的。我有一台 Windows 电脑。这是程序
#include "stdafx.h"
#include <iostream>
#include <sstream>
using namespace std;
void main()
{
char buffer[200];
char arg1[6]="Hello";
std::stringstream buffer;
sprintf(buffer, "C:\system.exe %i %i", arg1);
system(buffer);
system("pause");
}
我需要调用以下程序:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
void main(int argc, char*argv[])
{
string baci;
for(int i = 1; i < argc; i++)
baci += argv[i];
if (baci=="Hello")
cout << "Francesco, ti mando 4 baci !!!" << endl;
system("pause");
}
它没有正确创建命令行,我不知道为什么。任何人都可以帮助并解释为系统可执行文件使用双参数所需的任何变化吗?书籍和网络对这个过程不是很详细。我发现体面的只是这个,但我无法将它用于我的目的。 C++: How to use command line arguments
【问题讨论】:
-
您能否编辑您的问题,以便更清楚您要问的具体问题是什么?
-
我很想知道你是如何想出这个问题标题的......
-
我不确定你想要什么。但是,如果您想要第二个参数,您似乎需要
sprintf(buffer,"C:\system.exe %i %i %i",arg1,arg1,arg2)之类的东西。 -
这是一个新的
system范式如何? -
@FrancescoPalazzetti:当你笑的时候,我们浪费了一些时间来尝试理解瓷砖和文本之间的错误。我们都是志愿者,没有报酬浪费我们的时间,所以请保持“礼貌”,让“政治”远离这里。没有人关心你是谁或来自哪里以及你有什么意见,在这里。使用和不一致的标题只是为了避免正确的答案,因为这是人们看到的第一件事,并且“调”起来。
标签: c++