Работа с вводом и выводом в языке C — основы и примеры кода

  1. Чтение числа с клавиатуры:

    
    #include <stdio.h>
    int main() {
    int number;
    printf("Введите число: ");
    scanf("%d", &number);
    printf("Вы ввели число: %d
    ", number);
    return 0;
    }
    
    
  2. Чтение строки символов с клавиатуры:

    
    #include <stdio.h>
    int main() {
    char string[100];
    printf("Введите строку: ");
    gets(string);
    printf("Вы ввели строку: %s
    ", string);
    return 0;
    }
    
    
  3. 
    #include <stdio.h>
    int main() {
    char string[] = "Привет, мир!";
    puts(string);
    return 0;
    }
    
    

Ввод означает получение данных из внешнего источника, такого как клавиатура, файл или сетевое соединение. Ввод может быть использован для получения пользовательского ввода, чтения данных из файла или получения информации из других программ.

Заголовок взят из статьи "Input/Output in C Programming Language" на сайте tutorialspoint.com

ФункцияОписание
printf
scanfФункция для считывания данных с устройства ввода (обычно с консоли).
fopenФункция для открытия файла для чтения или записи.
fcloseФункция для закрытия файла, открытого с помощью функции fopen.
fgetcФункция для считывания одного символа из файла.
fputcФункция для записи одного символа в файл.
fgetsФункция для считывания строки из файла.
fputsФункция для записи строки в файл.

Основы работы с вводом

Основы работы с вводом

Пример использования функции scanf:

int age; printf("Введите возраст: "); scanf("%d", &age);

Еще один способ ввода данных - использование функции gets. Она позволяет считывать строки, включая пробелы. Однако злоумышленник может использовать эту функцию для переполнения буфера и запуска вредоносного кода, поэтому ее использование не рекомендуется.

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

FILE *file = fopen("data.txt", "r"); int number; fscanf(file, "%d", &number);

В данном примере мы открываем файл "data.txt" в режиме чтения ("r") и считываем из него число, сохраняя его в переменную number.

Также можно использовать функцию fgets для считывания строк из файла или потока ввода. Эта функция имеет больше возможностей для обработки ввода и проверки ошибок, чем функция gets.

Пример использования функции printf:


#include <stdio.h>
int main() {
int age = 25;
float weight = 65.5;
printf("Мне %d лет и я вешу %.1f кг", age, weight);
return 0;
}

Пример кода: чтение данных с клавиатуры

Пример кода: чтение данных с клавиатуры

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

Ниже приведен пример кода, демонстрирующий использование функции scanf для чтения двух целых чисел, введенных с клавиатуры:

#include 
int main() {
int a, b;
printf("Введите два целых числа: ");
scanf("%d %d", &a, &b);
printf("Вы ввели: %d и %d
", a, b);
return 0;
}

После запуска программы на выполнение в консольном окне пользователь увидит приглашение "Введите два целых числа: ", после чего он может ввести два целых числа, разделенных пробелом. После ввода, введенные значения будут отображены в консоли.

Пример кода: запись данных в файл

Пример кода: запись данных в файл
ФункцияОписание
FILE *fopen(const char *filename, const char *mode)Открывает файл с указанным именем и режимом, возвращает указатель на открытый файл
int fputc(int c, FILE *stream)Записывает символ c в файл, на который указывает stream, возвращает записанный символ если успешно, и EOF в случае ошибки
int fclose(FILE *stream)Закрывает файл, на который указывает stream, возвращает 0 если успешно, и EOF в случае ошибки

Ниже приведен пример кода, который демонстрирует запись данных в файл с использованием функции fputc:

#include <stdio.h>
int main() {
FILE *file = fopen("output.txt", "w");
if (file == NULL) {
printf("Не удалось открыть файл
");
return 1;
}
char message[] = "Привет, мир!";
for (int i = 0; i < sizeof(message) - 1; i++) {
int result = fputc(message[i], file);
if (result == EOF) {
printf("Ошибка записи в файл
");
fclose(file);
return 1;
}
}
if (fclose(file) == EOF) {
printf("Ошибка закрытия файла
");
return 1;
}
printf("Данные успешно записаны в файл
");
return 0;
}

В данном примере файл с именем "output.txt" открывается в режиме записи ("w"). Если открытие файла прошло успешно, символы строки "Привет, мир!" записываются в файл один за одним в цикле с использованием функции fputc. После завершения записи, файл закрывается с использованием функции fclose.

Результат работы программы

Результат работы программы
Оцените статью