2012-05-06 7 views
0

в настоящий момент я читаю в файле, как показано ниже в коде. Однако я хотел бы иметь возможность набирать имя файла и обрабатывать этот файл таким же образом, я использую Microsoft Visual C++ 2010 express. Код:Чтение файла из командного окна в C

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); 

ответ

0

подпись из главных является:

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

ARGV [1], что является вторым параметром будет имя файла, который вы вводите. Первый - это полный путь к самому приложению, поэтому

argv[1] 

Дал бы вам первый параметр аргумента командной строки. Замените имя файла в коде на argv [1]. Вот и все.

Так что код должен выглядеть следующим образом:

FILE *file = fopen(argv[1], "r"); 
+0

по какой-то причине MVC++ говорит фатальную ошибку, несмотря на легкий изменения – user1377485

+0

Не могли бы вы опубликовать свой код? Благодарю. – ervinbosenbacher

+0

его слишком большой для публикации ... – user1377485

Смежные вопросы