Как сделать ввод через стандартный поток (stdin) и через файл?

Для того чтобы осуществить ввод через стандартный поток (stdin) в языке C, вы можете использовать функцию scanf. Функция scanf позволяет читать данные из стандартного потока с форматированным вводом. Вы должны указать форматы данных, которые вы ожидаете считать, и переменные, в которые сохранятся считанные значения.

Вот пример использования scanf для чтения целого числа из стандартного потока:

#include <stdio.h>

int main() {
    int number;
    
    printf("Введите целое число: ");
    scanf("%d", &number);
    
    printf("Вы ввели число: %dn", number);
    
    return 0;
}

В этом примере, функция scanf ожидает целое число и считывает его со стандартного потока. Затем переменная number принимает значение этого целого числа, и мы выводим его на экран.

Чтобы считывать данные из файла, вы можете использовать функцию fscanf. Функция fscanf работает также как scanf, но вместо стандартного потока, вы указываете файловый указатель и путь к файлу.

Вот пример использования fscanf для чтения целого числа из файла:

#include <stdio.h>

int main() {
    FILE* file = fopen("input.txt", "r");
    
    int number;
    
    fscanf(file, "%d", &number);
    
    printf("В файле содержится число: %dn", number);
    
    fclose(file);
    
    return 0;
}

В этом примере, мы открываем файл с помощью функции fopen и получаем файловый указатель. Затем мы используем fscanf, чтобы считать целое число из файла в переменную number. После того, как мы считали данные, мы закрываем файл с помощью функции fclose.