Чтение числа с клавиатуры:
#include <stdio.h> int main() { int number; printf("Введите число: "); scanf("%d", &number); printf("Вы ввели число: %d ", number); return 0; }
Чтение строки символов с клавиатуры:
#include <stdio.h> int main() { char string[100]; printf("Введите строку: "); gets(string); printf("Вы ввели строку: %s ", string); return 0; }
#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 для чтения двух целых чисел, введенных с клавиатуры:
#includeint 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
.