38 int strcasecmp(
char* c1,
char* c2){
return _stricmp(c1,c2);}
44 this->name=
new char[strlen(
name)+1];
45 strcpy(this->name,
name);
76 sprintf(str,
"%d",
value);
86 value=(float)atof(argv[0]);
94 sprintf(str,
"%f",
value);
109 value=
new char[strlen(argv[0])+1];
110 strcpy(
value,argv[0]);
118 sprintf(str,
"%s",
value);
132 for(
int i=0;i<Dim;i++)
144 for(
int i=0;i<Dim;i++)
146 values[i]=
new char[strlen(argv[i])+1];
147 strcpy(
values[i],argv[i]);
157 for(
int i=0;i<Dim;i++)
159 sprintf(temp,
"%s ",
values[i]);
160 temp=str+strlen(str);
170 fileNameCopy=
new char[strlen(fileName)+1];
171 assert(fileNameCopy);
172 strcpy(fileNameCopy,fileName);
173 temp=strtok(fileNameCopy,
".");
176 if(ext!=
NULL){
delete[] ext;}
177 ext=
new char[strlen(temp)+1];
180 temp=strtok(
NULL,
".");
182 delete[] fileNameCopy;
190 fileNameCopy=
new char[strlen(fileName)+1];
191 assert(fileNameCopy);
192 strcpy(fileNameCopy,fileName);
193 temp=strtok(fileNameCopy,
"\\");
196 name=
new char[strlen(temp)+1];
199 temp=strtok(
NULL,
"\\");
201 delete[] fileNameCopy;
210 if (argv[0][0] ==
'-' && argv[0][1]==
'-')
214 if (!strcmp(&argv[0][2],readable[i]->
name))
217 j=readable[i]->
read(argv,argc);
225 fprintf(stderr,
"invalid option: %s\n",*argv);
226 fprintf(stderr,
"possible options are:\n");
227 for(i=0;i<num;i++) fprintf(stderr,
" %s\n",readable[i]->
name);
236 fprintf(stderr,
"invalid option: %s\n", *argv);
237 fprintf(stderr,
" options must start with a \'--\'\n");
249 fp=fopen(fileName,
"r");
250 if(!fp){
return NULL;}
252 while(fscanf(fp,
" %s ",temp)==1){cnt++;}
255 names=
new char*[cnt];
256 if(!names){
return NULL;}
258 fp=fopen(fileName,
"r");
265 while(fscanf(fp,
" %s ",temp)==1){
266 names[cnt]=
new char[strlen(temp)+1];
268 for(
int j=0;j<cnt;j++){
delete[] names[j];}
274 strcpy(names[cnt],temp);
void cmdLineParse(int argc, char **argv, int num, cmdLineReadable **readable, int dumpError)
char * GetLocalFileName(char *fileName)
char * GetFileExtension(char *fileName)
char ** ReadWords(const char *fileName, int &cnt)
cmdLineFloat(const char *name)
int read(char **argv, int argc)
void writeValue(char *str)
void writeValue(char *str)
int read(char **argv, int argc)
cmdLineInt(const char *name)
cmdLineReadable(const char *name)
virtual void writeValue(char *str)
virtual ~cmdLineReadable(void)
virtual int read(char **argv, int argc)
int read(char **argv, int argc)
void writeValue(char *str)
cmdLineString(const char *name)
void writeValue(char *str)
cmdLineStrings(const char *name, int Dim)
int read(char **argv, int argc)