📄 getopt.c
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* * * (C) 2001 by Argonne National Laboratory. * See COPYRIGHT in top-level directory. */#include "GetOpt.h"#include <stdio.h>bool GetOpt(int *argc, LPTSTR **argv, LPTSTR flag){ int i,j; if (flag == NULL) return false; for (i=0; i<*argc; i++) { if (_tcsicmp((*argv)[i], flag) == 0) { for (j=i; j<*argc; j++) { (*argv)[j] = (*argv)[j+1]; } *argc -= 1; return true; } } return false;}bool GetOptInt(int *argc, LPTSTR **argv, LPTSTR flag, int *n){ int i,j; if (flag == NULL) return false; for (i=0; i<*argc; i++) { if (_tcsicmp((*argv)[i], flag) == 0) { if (i+1 == *argc) return false; *n = _ttoi((*argv)[i+1]); for (j=i; j<*argc-1; j++) { (*argv)[j] = (*argv)[j+2]; } *argc -= 2; return true; } } return false;}bool GetOptLong(int *argc, LPTSTR **argv, LPTSTR flag, long *n){ int i; if (GetOptInt(argc, argv, flag, &i)) { *n = (long)i; return true; } return false;}bool GetOptDouble(int *argc, LPTSTR **argv, LPTSTR flag, double *d){ int i,j; if (flag == NULL) return false; for (i=0; i<*argc; i++) { if (_tcsicmp((*argv)[i], flag) == 0) { if (i+1 == *argc) return false; *d = _tcstod((*argv)[i+1], NULL); for (j=i; j<*argc-1; j++) { (*argv)[j] = (*argv)[j+2]; } *argc -= 2; return true; } } return false;}bool GetOptString(int *argc, LPTSTR **argv, LPTSTR flag, char *str){ int i,j; if (flag == NULL) return false; for (i=0; i<*argc; i++) { if (_tcsicmp((*argv)[i], flag) == 0) { if (i+1 == *argc) return false; strcpy(str, (*argv)[i+1]); for (j=i; j<*argc-1; j++) { (*argv)[j] = (*argv)[j+2]; } *argc -= 2; return true; } } return false;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -