Ввести строку в файл с клавиатуры - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и вводом-выводом
  2. Объявление переменных: массивы firstname и secondname для хранения имени и фамилии, переменная age для хранения возраста
  3. Открытие файла 4.txt в режиме записи с помощью функции fopen_s
  4. Проверка на успешное открытие файла. Если файл не удалось открыть, выводится сообщение об ошибке и программа завершается
  5. Вывод сообщения с просьбой ввести имя
  6. Считывание строки с помощью функции fgets в переменную firstname. Ограничение на количество символов — 19, чтобы оставить место для символа новой строки
  7. Вывод сообщения с просьбой ввести фамилию
  8. Считывание строки с помощью функции fgets в переменную secondname. Ограничение на количество символов — 19, чтобы оставить место для символа новой строки
  9. Вывод сообщения с просьбой ввести возраст
  10. Считывание числа с помощью функции scanf в переменную age
  11. Запись в файл содержимого переменных firstname, secondname и age с помощью функции fprintf. Добавление симвона новой строки с помощью символа перевода строки \n
  12. Закрытие файла с помощью функции fclose
  13. Вывод сообщения с просьбой нажать любую клавишу с помощью функции system
  14. Завершение программы с возвратом 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы