在C/C++中,常用的控制台程序中main函数都是不传参数的,这样相当于无参数执行,但main函数完整的定义结构是有参数的:
int main(int argc, char *argv[]);
其中,argc
代表参数的个数(argument count),argv
代表各个参数的首地址(一个指针数组)(argument value),而且需要注意的是,argc
是传入参数个数+1;argv[0]
实际上就是该程序所在地址,只读。
那这个怎么使用呢?一般是先编译运行,然后在命令行中执行程序时传入参数即可。
附:参考链接
同样,在python中也有类似的传入参数执行的 *** 作,具体可以看一下这个链接。
2. C语言中执行命令行 *** 作并保存到文件 最近才知道,C语言中的system("pause");
等一些类似的语法,实际上就是在命令行中输入引号中的字符串,实现调用系统的一些功能。那能不能使用这个语法来执行一些相对复杂的指令,而且最好是可以将执行结果返回回来。
保存命令行执行得到的结果一般有两种方式,一种是在文件中写入特定的内容,需要使用到echo
指令,使用格式:echo 内容 > 文件路径
,举个例子
echo hello "C:\Users\Zeoy\Desktop.txt"
上面这个例子是将hello内容写入到一个txt文件中。参考链接
但其实更常用的是执行完一个指令之后获取其执行结果,这个时候就不需要加echo
指令了,直接使用>
符号即可。看下面这个例子
ipconfig > C:\Users\Zeoy\Desktop\1.txt
(路径的引号可加可不加)
上面这个指令实现的是执行ipconfig
指令,然后将返回内容写入到txt文件中。参考链接
不过,需要注意的是,以上两种方式如果指令中有特殊符号的话,需要使用^
进行转义。此外,在C语言编写时,如果字符串中有特殊符号,也需要进行转义,但使用的符号是\
,所以在C语言中需要进行两次转义:
//命令行中的ipconfig > C:\Users\Zeoy\Desktop\1.txt
char s[50] = "ipconfig > ^\"C:^\\Users^\\Zeoy^\\Desktop^\\1.txt^\"";
system(s);
3. C语言中获取文件自身路径的方法 4. exit(0)与exit(1)、return区别脑洞大开:将上面两种 *** 作结合一下,是不是可以实现在C语言中调用python代码执行的结果?这样也就是运行C语言程序要求具有python环境 [狗头]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)