C++软件开发技术.doc
文本预览下载声明
软件开发技术
专业:检测技术及自动化装置
题目:
一.利用VC6.0编写一个能对字符串按任意字符进行分割的函数,并将该函数以动态链接库形式进行导出,并写一个基于对话框的程序进行测试用VC编写一个时钟的ActiveX控件,该控件具有以下功能1.时钟显示功能 格式为: 年月日 时:分:秒,每秒钟刷新一次2每分钟产生一个分钟事件3每小时产生一个小时事件4返回当前系统时间功能5返回控件创建到现在的秒数6时间相加功能(DATEADD)7时间相减功能(DATEDIFF)用VC编写一个客户端和服务器端(采用TCP,或UDP协议,具体的实现协议自定),具有以下的系统维护功能:
1.客户端输入命令ShowAllProcess 列出服务器所在计算机上的所有运行的进程名和进程号,将这些信息返回给客户端。
2客户端通过输入 ”ShowProcess 程序名“ 将服务器上对应的程序是否在运行的结果返回给客户端。
3客户端通过输入 ”KillProcess 程序名“ 将服务器上对应的程序删除,并将成功与否的结果返回给客户端。
4客户端通过输入“CreateProcess 程序名” 将启动服务器上对应的程序,并将成功与否的结果返回给客户端。
5客户端通过输入 ReStart Computer“将服务器计算机重启
6客户端通过输入ShowSysTem Information” 将服务器上的CPU 内存和硬盘使用率返回给客户端
利用VC6.0编写一个能对字符串按任意字符进行分割的函数#include stdio.h#include stdlib.h#include string.hvoid split(char *src, const char *separator, char **dest, int *num){char *pSeparator, *pStart, *pEnd;unsigned int sep_len;int count = 0;if (src = = NULL || strlen(src) = = 0) return;pSeparator = (char *)malloc(16);if (pSeparator = = NULL) return;if (separator = = NULL || strlen(separator) = = 0) strcpy(pSeparator, );/* one blank by default */else strcpy(pSeparator,separator);sep_len = strlen(pSeparator);pStart = src;while(1){pEnd = strstr(pStart, pSeparator);if (pEnd != NULL){memset(pEnd,\0,sep_len);*dest++ = pStart;pEnd = pEnd + sep_len;pStart = pEnd;++count;}else{*dest = pStart;++count;break;}}*num = count;if (pSeparator != NULL) free(pSeparator);}int main(){char src[] = Accsvr:tcp:-h 127.0.0.1 -p 20018;char *dest[128];char *dest2[128];int num = 0, num2 = 0;int i, j;split(src,:,dest,num);for (i=0;inum;++i){printf(|%s|\n,dest[i]);split(dest[i], ,dest2,num2);for (j=0;jnum2;++j){printf(|%s|\n,dest2[j]);}}return 0;}
3.分割字符串函数以动态链接库形式进行导出,一个基于对话框的程序进行测试StdAfx.h添加输出导数声明
#define EXPORT __declspec(dllexport)
extern C EXPORT void __stdcall split(char *src, const char *separator, char **dest, int *num)
;
3.在源文件Source Files中添加典型的输出模块定义split3.def
LIBRARY dh.dll
EXPORTS
split = split
4.在源文件Source Files中添加分割函数
void __stdcall split(char *src,
显示全部