我有以下程序称为Scorecommandline
:
int main (int argc, char *argv[]) {
if (argc!=15) {
usage();
exit(1);
}
int iArray[14];
int i = 0;
while(1){
if(scanf("%d",&iArray[i]) != 1){
break;
}
i++;
if(i == 14) {
i = 0;
}
}
int age = atoi(iArray[1]);
int b_AF = atoi(iArray[2]);
int b_ra = atoi(iArray[3]);
int b_renal = atoi(iArray[4]);
int b_treatedhyp = atoi(iArray[5]);
int b_type2 = atoi(iArray[6]);
double bmi = atof(iArray[7]);
int ethrisk = atoi(iArray[8]);
int fh_cvd = atoi(iArray[9]);
double rati = atof(iArray[10]);
double sbp = atof(iArray[11]);
int smoke_cat = atoi(iArray[12]);
int surv = atoi(iArray[13]);
double town = atof(iArray[14]);
double score = cvd_femal(age,b_AF,b_ra,b_renal,b_treatedhyp,b_type2,bmi,ethrisk,fh_cvd,rati,sbp,smoke_cat,surv,town,&error,errorBuf,sizeof(errorBuf));
if (error) {
printf("%s", errorBuf);
exit(1);
}
printf("%f\n", score);
}
我在其中有一个 .dat 文件,打算用于该程序中的 args,但是如果我键入:
cat testscandata.dat | ./ScorecommandLine
该程序不会将文件作为程序的参数读入。我该如何解决这个问题?
谢谢