Ввести строку в файл с клавиатуры - C (СИ)
Формулировка задачи:
Задача звучит так:
Сделать 3 записи в файл формата .txt(фамилия, имя, возраст). Вводиться записи должны с клавиатуры.
Костяк программы выглядит вот так:
Вопрос заключается в следующем: как ввести строку в файл с клавиатуры именно в таком варианте программного кода? Очень нужна помощь! Спасибо.
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
int main()
{
setlocale(0, "");
FILE*f;
fopen_s(&f, "4.txt", "wt");
if (f == NULL)
{
printf_s("Ошибка");
exit(0);
}
fclose(f);
system("pause");
return 0;
}Решение задачи: «Ввести строку в файл с клавиатуры»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{
char firstname[20];
char secondname[20];
int age;
FILE*f;
system("chcp 1251 > NULL");
fopen_s(&f, "4.txt", "wt");
if (f == NULL)
{
printf_s("Ошибка");
exit(0);
}
printf("FirstName: ");
fgets(firstname,19,stdin);
printf("SecondName: ");
fgets(secondname, 19, stdin);
printf("Age: ");
scanf("%d", &age);
fprintf(f, "%s%s%d\n", firstname, secondname, age);
fclose(f);
system("pause");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и вводом-выводом
- Объявление переменных: массивы firstname и secondname для хранения имени и фамилии, переменная age для хранения возраста
- Открытие файла
4.txtв режиме записи с помощью функции fopen_s - Проверка на успешное открытие файла. Если файл не удалось открыть, выводится сообщение об ошибке и программа завершается
- Вывод сообщения с просьбой ввести имя
- Считывание строки с помощью функции fgets в переменную firstname. Ограничение на количество символов — 19, чтобы оставить место для символа новой строки
- Вывод сообщения с просьбой ввести фамилию
- Считывание строки с помощью функции fgets в переменную secondname. Ограничение на количество символов — 19, чтобы оставить место для символа новой строки
- Вывод сообщения с просьбой ввести возраст
- Считывание числа с помощью функции scanf в переменную age
- Запись в файл содержимого переменных firstname, secondname и age с помощью функции fprintf. Добавление симвона новой строки с помощью символа перевода строки
\n - Закрытие файла с помощью функции fclose
- Вывод сообщения с просьбой нажать любую клавишу с помощью функции system
- Завершение программы с возвратом 0