c语言如何 调用外部程序

c语言如何 调用外部程序,第1张

fe函数名: exec...

功 能: 装入并运行其它程序的函数

用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL)

int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,

char *envp[])

int execlp(char *pathname, char *arg0, arg1, .., NULL)

int execple(char *pathname, char *arg0, arg1, ..., NULL,

char *envp[])

int execv(char *pathname, char *argv[])

int execve(char *pathname, char *argv[], char *envp[])

int execvp(char *pathname, char *argv[])

int execvpe(char *pathname, char *argv[], char *envp[])

程序例: /* execv example */

#include <process.h>

#include <stdio.h>

#include <errno.h>void main(int argc, char *argv[])

{

int i printf("Command line arguments:\n")

for (i=0i<argci++)

printf("[%2d] : %s\n", i, argv[i]) printf("About to exec child with arg1 arg2 ...\n")

execv("CHILD.EXE", argv) perror("exec error") exit(1)

}

多看书,多Google,百度,

这在C中很容易实现。

一、将A中的数据作为调用函数B的参数,经过B处理后,返回到A。假定A为主函数main(),B为排序函数Sort(int a[],int n),在A中给数组a[]赋值,通过函数B进行排序,完成后返回到A。

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define MAXlen 100

void Sort(int *x, int n) {     //选择排序

int i, j, min

int t

for (i = 0 i < n - 1 i++) {     // 要选择的次数:0~n-2共n-1次 

min = i                      // 假设当前下标为i的数最小,比较后再调整 

for (j = i + 1 j < n j++) { //循环找出最小的数的下标是哪个

if (*(x + j) < *(x + min)) {   

min = j              // 如果后面的数比前面的小,则记下它的下标

}

}  

if (min != i) {               // 如果min在循环中改变了,就需要交换数据

t = *(x + i)

*(x + i) = *(x + min)

*(x + min) = t

}

}

}

int main() {

int i

int iArr[MAXlen]

srand((unsigned int)time(NULL))

printf("\n排序前:\n")

for(i = 0  i < MAXlen  i++) {

iArr[i] = (unsigned int)rand() % 1000

if(i % 10 == 0) printf("%\n")

printf("%5d",iArr[i])

}

printf("\n")

Sort(iArr,MAXlen)

printf("\n排序后:\n")

for(i = 0  i < MAXlen  i++) {

if(i % 10 == 0) printf("%\n")

printf("%5d",iArr[i])

}

printf("\n\n")

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12106299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存