Чтобы получить элементы от пользователя и сохранить их в текстовом файле с помощью C, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование функций scanf и fprintf
#include <stdio.h>
int main() {
int num;
FILE *file;
file = fopen("data.txt", "w");
printf("Enter the number of elements: ");
scanf("%d", &num);
fprintf(file, "Number of elements: %d\n", num);
for (int i = 0; i < num; i++) {
int element;
printf("Enter element %d: ", i + 1);
scanf("%d", &element);
fprintf(file, "%d\n", element);
}
fclose(file);
printf("Data saved to file.\n");
return 0;
}
Метод 2. Использование функций fgets и fputs
#include <stdio.h>
#define MAX_LENGTH 100
int main() {
int num;
FILE *file;
file = fopen("data.txt", "w");
printf("Enter the number of elements: ");
scanf("%d", &num);
getchar(); // consume the newline character
fprintf(file, "Number of elements: %d\n", num);
char buffer[MAX_LENGTH];
for (int i = 0; i < num; i++) {
printf("Enter element %d: ", i + 1);
fgets(buffer, MAX_LENGTH, stdin);
fputs(buffer, file);
}
fclose(file);
printf("Data saved to file.\n");
return 0;
}
Метод 3. Использование аргументов командной строки
#include <stdio.h>
int main(int argc, char *argv[]) {
int num;
FILE *file;
if (argc < 2) {
printf("Usage: ./program_name <filename>\n");
return 1;
}
file = fopen(argv[1], "w");
printf("Enter the number of elements: ");
scanf("%d", &num);
fprintf(file, "Number of elements: %d\n", num);
for (int i = 0; i < num; i++) {
int element;
printf("Enter element %d: ", i + 1);
scanf("%d", &element);
fprintf(file, "%d\n", element);
}
fclose(file);
printf("Data saved to file.\n");
return 0;
}
Эти методы позволяют пользователю вводить количество элементов и соответствующие значения, которые затем сохраняются в текстовом файле. Данные сохраняются в отформатированном виде, чтобы их можно было прочитать. Не забудьте включить необходимые операторы обработки ошибок и закрытия файлов в вашу фактическую реализацию.