Я пытаюсь создать программу, в которой она сохраняет возраст, имя и фамилию, введенные пользователем в текстовом файле, но не записывает текстовый файл, введенный через командную строку.Имя файла берется в качестве аргумента командной строки.Мой цикл должен закончиться, когда пользователь введет 0 для возраста.
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
char fname[30], lname[30];
int age;
FILE *fp;
fp = fopen (argv[1], "r");
if (fp == NULL) {
printf("No file\n");
return 0;
}
printf("This program reads and saves ages and names in a text file.\n");
do {
printf("Enter person (age, first last): ");
scanf("%d, %s %s", &age, fname, lname);
fprintf(fp, "%d, %s %s", age, fname, lname);
} while (age > 0);
fclose (fp);
return 0;
}