getopt.cpp

来自「MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程」· C++ 代码 · 共 105 行

CPP
105
字号
#include "GetOpt.h"#include <tchar.h>#include <stdio.h>#include <stdlib.h>bool GetOpt(int &argc, LPTSTR *&argv, LPTSTR flag){	if (flag == NULL)		return false;	for (int i=0; i<argc; i++)	{		if (_tcsicmp(argv[i], flag) == 0)		{			for (int j=i; j<argc; j++)			{				argv[j] = argv[j+1];			}			argc -= 1;			return true;		}	}	return false;}bool GetOpt(int &argc, LPTSTR *&argv, LPTSTR flag, int *n){	if (flag == NULL)		return false;	for (int i=0; i<argc; i++)	{		if (_tcsicmp(argv[i], flag) == 0)		{			if (i+1 == argc)				return false;			*n = _ttoi(argv[i+1]);			for (int j=i; j<argc-1; j++)			{				argv[j] = argv[j+2];			}			argc -= 2;			return true;		}	}	return false;}bool GetOpt(int &argc, LPTSTR *&argv, LPTSTR flag, long *n){	int i;	if (GetOpt(argc, argv, flag, &i))	{		*n = (long)i;		return true;	}	return false;}bool GetOpt(int &argc, LPTSTR *&argv, LPTSTR flag, double *d){	if (flag == NULL)		return false;	for (int i=0; i<argc; i++)	{		if (_tcsicmp(argv[i], flag) == 0)		{			if (i+1 == argc)				return false;			*d = _tcstod(argv[i+1], NULL);			for (int j=i; j<argc-1; j++)			{				argv[j] = argv[j+2];			}			argc -= 2;			return true;		}	}	return false;}bool GetOpt(int &argc, LPTSTR *&argv, LPTSTR flag, LPTSTR str){	if (flag == NULL)		return false;	for (int i=0; i<argc; i++)	{		if (_tcsicmp(argv[i], flag) == 0)		{			if (i+1 == argc)				return false;			_tcscpy(str, argv[i+1]);			for (int j=i; j<argc-1; j++)			{				argv[j] = argv[j+2];			}			argc -= 2;			return true;		}	}	return false;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?