用c语言检测某个程序是否运行,如果检测到了便启动另一个程序

用c语言检测某个程序是否运行,如果检测到了便启动另一个程序,第1张

可以借助系统命令来检测。

windows 用 tasklist 命令,linux 用 ps 命令。

c 使用 popen 函数来解析返回的字符串,一旦发现 xx 进程运行则用 system 函数启动另一个程序。

如果需要持续检测,用 while 加 sleep 轮询。

#include <stdio.h>

#define UC (1U<<1) // upper case

#define LC (1U<<2) // lower case

#define NUM (1U<<3) // 0-9

#define ALL (UC|LC|NUM)

int check(const char pass1[], const char pass2[])

{

const char *p = &pass1[0]

unsigned int flag = 0

if (strlen(pass1) <6 || strlen(pass1) >8)

{

printf("password length is 6 to 8.\n")

return 1

}

if (strcmp(pass1, pass2))

{

printf("the tow passwords are diffrence.\n")

return 2

}

while (*p)

{

if (*p >= 'a' &&*p <= 'z') flag |= LC

else if (*p >= 'A' &&*p <= 'Z') flag |= UC

else if (*p >= '0' &&*p <= '9') flag |= NUM

else

{

printf("in valid charactor: %c.\n", *p)

return 3

}

++p

}

if (flag == ALL) return 0

if ((flag &UC) == 0)

{

printf("lack of uppercase.\n")

}

if ((flag &LC) == 0)

{

printf("lack of lowercase.\n")

}

if ((flag &NUM) == 0)

{

printf("lack of number.\n")

}

return -1

}

int main(int argc, char *argv[])

{

char pass1[100]

char pass2[100]

do {

printf("input password:")

scanf("%s", pass1)

printf("repeat password:")

scanf("%s", pass2)

} while (check(pass1, pass2) != 0)

return 0

}

方法很多种:1)单步调试跟踪变量值。

2)如上所说,用一个暂存变量保存它的值,比较。

3)在想查看它的值的地方printf()

c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的 *** 作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。


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

原文地址:https://54852.com/yw/11297922.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存