Функции ввода символов из библиотеки stdio
x=getc(st)
x=putc(c,st)
x=getchar()
x=putchar(c)
x=ungetc(c,st)
Также на сайте arendainstrumenta.com можно узнать много интересного на тему
http://www.arendainstrumenta.com/14.html
Что означает вообще тема виброплиты аренда про это написано на сайте arendainstrumenta.com Спасибо сайту за информацию
Вводит символ из потока ввода st; возвращает целочисленное значение символа; если обнаружен конец файла или возникла ошибка, то x==EOF
Записывает символ c в поток вывода st; возвращает целочисленное значение записанного символа; если произошла ошибка, то x==EOF Считывает символ из потока stdin; возвращает целочисленное значение символа; если обнаружен конец файла или возникла ошибка, то x= = EOF
Записывает символ c в поток stdout; возвращает целочисленное значение символа; если возникла ошибка, то x==EOF
Возвращает символ c обратно в поток ввода st; возвращает целочисленное значение символа; если возникла ошибка, то x==EOF
Обратите внимание на то, что результатом этих функций является число типа int (а не переменная типа char или макрос EOF). Рассмотрим типичный цикл ввода в программе на языке С.
int ch; /* но не char ch; */
while ((ch=getchar())!=EOF) { /* какие-то действия */ }
Не применяйте к потоку два последовательных вызова ungetc(). Результат такого действия может оказаться непредсказуемым, а значит, программа не будет переносимой.
Мы описали не все функции из библиотеки stdio, более полную информацию можно найти в хороших учебниках по языку С, например в книге K&R.
Строки в стиле языка С
Строки в стиле языка C представляют собой массивы элементов типа char, завершающиеся нулем. Эти строки обрабатываются функциями, описанными в заголовках (или ; примечание: но не ) и . Эти функции оперируют строками в стиле языка С с помощью указателей char* (указатели const char* ссылаются на ячейки памяти, предназначенные исключительно для чтения).
Операции над строками в стиле языка С
x=strlen(s) Подсчитывает символы (включая завершающий нуль)
p=strcpy(s,s2) Копирует строку s2 в строку s; диапазоны [s:s+n)
и [s2:s2+n) не должны перекрываться; p=s; завершающий нуль копируется
Окончание таблицы
Операции над строками в стиле языка С
p=strcat(s,s2) x=strcmp(s, s2)
p=strncpy(s,s2,n) p
3=strncat(s,s2,n)
x=strncmp(s,s2,n)
p=strchr(s,c)
p=strrchr(s,c)
p=strstr(s,s2)
p=strpbrk(s,s2)
=atof(s)
=atoi(s)
=atol(s)
=strtod(s,p)
=strtol(s,p)
=strtoul(s,p)
Копирует строку s2 в конец строки s; p=s; завершающий нуль копируется
Сравнение в лексикографическом порядке: если ss2, то x — положительное число
strcpy; не более n символов; может давать сбой при копировании завершающего нуля; p=s
strcat; не более n символов; может давать сбой при копировании завершающего нуля; p=s strcmp; не более n символов
Устанавливает указатель p на первый символ c в строке s Устанавливает указатель p на последний символ c в строке s Устанавливает указатель p на первый символ строки s, с которого начинается подстрока, равная s2
Устанавливает указатель p на первый символ строки s, содержащейся в строке s2
Извлекает число типа double из строки s Извлекает число типа int из строки s Извлекает число типа long int из строки s
Извлекает число типа double из строки s; устанавливает указатель p на первый символ, следующий за числом типа double Извлекает число типа long int из строки s; устанавливает указатель p на первый символ, следующий за числом типа long Извлекает число типа unsigned long int из строки s; устанавливает указатель p на первый символ, следующий за числом типа long
Обратите внимание на то, что в языке C++ функции strchr() и strstr() дублируются, чтобы обеспечить безопасность типов (они не могут преобразовать тип const char* в тип char*, как их аналоги в языке C); Функции извлечения символов просматривают строку в стиле языка С в поисках соответственно форматированного представления числа, например "124" и " 1.4". Если такое представление не найдено, функция извлечения возвращает 0. Рассмотрим пример.
int x = atoi("fortytwo"); /* x становится равным 0 */
Память
Функции управления памятью действуют в “голой памяти” (без известного типа) с помощью указателей типа void* (указатели const void* ссылаются на ячейки памяти, предназначенные только для чтения).
Функции управления памятью в стиле языка С
q=memcpy(p, p2, n)
q=memmove(p,p2,n)
x=memcmp(p,p2,n)
q=memchr(p,c,n)
q=memset(p,c,n)
p=calloc(n,s)
p=malloc(s)
q=realloc(p,s)
free(p)
Копирует n байтов из области памяти, адресованной указателем p2, в область памяти, адресованную указателем p (как функция strcpy); диапазоны [p:p+n) и [p2:p2+n) не должны перекрываться; q=p
Копирует n байтов из области памяти, адресованной указателем p2, в область памяти, адресованную указателем p; q=p Сравнивает n байтов из областей памяти, адресованной указателем p2, с эквивалентными n байтами из области памяти, адресованной указателем p (как функция strcmp)
Находит символ c (преобразованный в тип unsigned char) в диапазоне p[0] ..p[n-1] и устанавливает указатель q на этот элемент; если символ c не найден, то q=0
Копирует символ c (преобразованный в тип unsigned char) в каждую ячейку диапазона p[0] ..p[n-1]; q=0 Выделяет в свободной памяти n*s байтов, инициализированных нулем; если n*s байтов выделить невозможно, то p=0 Выделяет s неинициализированных байтов в свободной памяти; если s байтов выделить невозможно, то p=0
Выделяет s байтов в свободной памяти; указатель p должен быть результатом функции malloc() или calloc(); если возможно, повторно использует область памяти, на которую ссылается указатель p; если это невозможно, копирует все байты области, адресованной указателем p, в новую область памяти; если q байтов выделить невозможно, то q=0
Освобождает память, адресованную указателем p, который должен быть p результатом функции malloc(), calloc() или realloc()
Функции malloc() и ей подобные не вызывают конструкторы, а функция free() не вызывает деструкторы. Не применяйте эти функции к типам, имеющим конструкторы или деструкторы.
Кроме того, функция memset() также никогда не должна применяться к типам, имеющим конструктор.
Функции, начинающиеся с приставки mem, описаны в заголовке , а функции выделения памяти — в заголовке .
|