本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、C/C++主函数main中参数argc和argv含义及用法

我们常见的主函数如下所示:

//C 语言中的主函数
#include <stdio.h>
int main(int argc, char* argv[])
{
	return 0;
}
//C++ 中的主函数
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	return 0;
}

主函数也是一个函数,也能字符够由字符间距外部的程序调用数组词,其中argcargv就是主函数的两个参数。

1、argc 是 argument count 的缩写python基础教程,表示传入main函数的参数个数

2、argv 是 argument vector 的缩写,表示传入main函数的参数序字符间距加宽2磅列或指针,并且第一个参数argv[0]一定包含了程序所在完整路径的名称,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个,示例如下:

#include <iostream>
using namespace std;
void main(int argc, char* argv[])
{
	//打印所有的参数
	for (int i = 0; i < argc; i++)
		cout << "argument[" << i << "] is: " << argv[i] << endl;
	system("pause");
}

程序输出:

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

二、使用Python中的os.system()方法

使用字符串是什么意思os.system方法需要引入import os模块。(和C/C++中的System函数类似)

  1. 该函数用于将字符串转指针万用表怎么读数数组去重为系统命令而执行。
  2. 该函数执行成功返回0,否则返回其他数字。返回的数字python基础教程根据出错类型给出(1: Op数组eration not permitted,2: No such file or directory …等)

示例:

import os
# 一些常用的网络命令
os.system("ping www.baidu.com")
os.system("ipconfig")

三、使用os.system调用exe文件

我们以C++程序为例,先数组公式编写一个加法函数,参数为a、b、c、d指针数学,返回a+b+c+d的值:

#include <iostream>
#include <string>
using namespace std;
//加法函数
int addNumber(int a, int b, int c, int d)
{
	return a + b + c + d;
}
//主函数
void main(int argc, char* argv[])
{
	int elem[4] = { 0 };//参数数组
	//将参数转换为整数
	//第0个参数为路径+文件名,所以i从1开始
	for (int i = 1; i < argc; i++)
		//stoi为string中的函数,即string to int,将字符串转换为整数
		elem[i - 1] = stoi(argv[i]);//将字符串转换为整数
	cout<<"addNumber函数的输出为:"<<addNumber(elem[0], elem[1], elem[2], elem[3]);
	system("pause");
}

将上述的C++代码编译执行,可能会python语言报错,因为argv没有传入参数,会报出数组越界的错误,如下:

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

但是不会影响生成exe文件,将生成的exe文ios模拟器件和新字符间距在哪里设置建的p字符间距在哪里设置ython文件放在同一目录下(不放在同一路径python123平台登录下时,需要写绝对路径+文件名),数组词在Python文件中写入如下代码

import os
a = input('请输入a:')
b = input('请输入b:')
c = input('请输入c:')
d = input('请输入d:')
os.system("addNumber.exe" +" "+a+" "+b+" "+c+" "+d)

Python代码调用C/C++代码生成的exe可执行文件

注意,参数之间一定要用空格隔开

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

最后的输出如下:

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件