Работа с функцией getchar
getchar - это функция стандартной библиотеки языка программирования C, которая используется для получения символа из потока ввода. Она позволяет программе считывать отдельные символы с клавиатуры или другого устройства ввода, такого как файл.
Прежде чем мы рассмотрим примеры кода, давайте подробнее разберем состав функции getchar:
int getchar(void);
Функция getchar не принимает никаких аргументов и возвращает целочисленное значение. Она считывает следующий доступный символ из стандартного потока ввода и возвращает его в виде целого числа, представляющего ASCII-код символа.
Теперь давайте рассмотрим некоторые примеры кода, чтобы лучше понять использование функции getchar:
Пример 1: Простое чтение символа с клавиатуры и его вывод
<code><pre><span class="keyword">#include <stdio.h>
int main() {
int c;
printf("Введите символ: ");
c = getchar();
printf("Вы ввели символ: ");
putchar(c);
return 0;
}
</pre></code>
В этом примере мы используем функцию putchar() для вывода символа на экран. Функция printf() используется для вывода простого сообщения с просьбой ввести символ. Затем мы вызываем функцию getchar(), чтобы считать символ с клавиатуры и сохранить его в переменной c. Наконец, мы снова используем функцию putchar() для вывода введенного символа.
Пример 2: Считывание строки символов с клавиатуры
<code><pre><span class="keyword">#include <stdio.h>
int main() {
char str[100];
int i = 0;
char c;
printf("Введите строку символов: ");
while ((c = getchar()) != '\n' && i < 99) {
str[i] = c;
i++;
}
str[i] = '\0';
printf("Введенная строка: %s", str);
return 0;
}
</pre></code>
В этом примере мы используем функцию getchar() в цикле while для считывания символов с клавиатуры до тех пор, пока не будет введен символ новой строки ('\n') или не будет достигнут предел длины строки (99 символов). Мы сохраняем каждый введенный символ в элементе массива str[] и увеличиваем индекс i. Затем мы добавляем завершающий нуль-символ ('\0') в конец строки и выводим ее с помощью функции printf().
Если вы хотите использовать функцию getchar() для чтения символа из файла, вы можете вместо стандартного потока ввода использовать файловый указатель. Например:
Пример 3: Чтение символов из файла
<code><pre><span class="keyword">#include <stdio.h>
int main() {
FILE *file;
char c;
file = fopen("example.txt", "r");
if (file == NULL) {
printf("Не удалось открыть файл!");
return 1;
}
printf("Символы из файла:\n");
while ((c = fgetc(file)) != EOF) {
putchar(c);
}
fclose(file);
return 0;
}
</pre></code>
В этом примере мы используем функцию fgetc() вместо getchar() для чтения символа из файла. Мы открываем файл example.txt с помощью функции fopen() и проверяем, удалось ли открыть файл. Затем мы используем цикл while и функцию fgetc(), чтобы считывать символы из файла, пока не будет достигнут его конец (EOF).