0

目前我读入了一个文件,如下面的代码所示。但是,我希望能够输入文件名并以相同的方式处理该文件,我使用的是 Microsoft Visual C++ 2010 express。编码:

int main (int argc, char *argv[])
{

static const int MAX_FILE_ROWS = 10;

double lines[MAX_FILE_ROWS][4];
FILE *file = fopen("filename.txt", "r");

for (int i = 0; i < MAX_FILE_ROWS; i++){
if (feof(file))
    break;

fscanf(file, "%lf %lf %lf %lf", &(lines[i][0]), &(lines[i][1]), &(lines[i][2]), &(lines[i][3]));     
printf("%f %f %f %f\n", lines[i][0], lines[i][1], lines[i][2], lines[i][3]);
}

fclose(file);
4

1 回答 1

0

主要的签名是:

int main(int argc, char* argv[]);

作为第二个参数的 argv[1] 将是您要输入的文件的名称。第一个是应用程序本身的完整路径,所以

argv[1]

会给你命令行参数的第一个参数。将代码中的文件名替换为 argv[1]。这就对了。

所以代码应该是这样的:

FILE *file = fopen(argv[1], "r");
于 2012-05-06T03:05:02.530 回答