Описание тега c-standard-library
Стандартная библиотека C - это стандартная библиотека для языка программирования C, как указано в стандарте ANSI C.
7
ответов
Стандартные гарантийные буферы C не затрагиваются после их нулевого терминатора?
В различных случаях, когда буфер предоставляется для многих строковых функций стандартной библиотеки, гарантируется ли, что буфер не будет изменен после нулевого терминатора? Например: char buffer[17] = "abcdefghijklmnop"; sscanf("123", "%16s", buff…
25 фев '15 в 06:24
1
ответ
Фатальная ошибка GCC: quit.h нет такого файла или каталога
Я изучаю C для курса по операционным системам и только что закончил писать эту программу в соответствии с инструкциями из учебника: #include <dirent.h> #include <stdio.h> #include "quit.h" int main(int argc, char **argv) { DIR *dir; stru…
12 апр '17 в 16:01
8
ответов
Почему спецификатор для `float` не определен в`printf`?
Похоже, что могло бы быть, есть (по крайней мере, в C99) модификаторы длины, которые могут быть применены к int: %hhd, %hd, %ld а также %lld имею в виду signed char, short, long а также long long, Существует даже модификатор длины, применимый к doub…
11 сен '15 в 07:29
1
ответ
Ввод с клавиатуры делает функцию не работать должным образом - C
У меня есть следующий код: browser.h #include <stdlib.h> #include <string.h> typedef struct webpage { struct webpage *prev; struct webpage *next; char* url; } Webpage; Webpage *current = NULL; void free_mem(Webpage *p) { if (p->next !…
25 фев '17 в 00:51
2
ответа
Определение функций C в стандартной библиотеке C как макросов
Я читал Открытые базовые спецификации групп и справочные страницы программистов Posix по заголовкам C, и эта фраза многократно повторяется: "Следующее должно быть объявлено как функции, а также может быть определено как макрос", и я не совсем уверен…
31 окт '17 в 07:00
1
ответ
Кто предоставляет стандартную библиотеку C gcc или glibc?
Я читаю C Primer Plus. На странице 31 автор говорит: stdio.h Файл поставляется как часть всех пакетов компилятора Си. Но автор не уточнил, откуда берется фактический код библиотеки. Я нахожусь в системе Linux, и у меня есть путаница между gcc или же…
25 янв '19 в 13:14
6
ответов
Как определить, должен ли указатель на возвращаемый символ быть свободным в функциях стандартной библиотеки C?
У меня мало опыта в C разработка программы. Как я описал в заголовке, как определить, должен ли указатель на возвращаемый символ быть свободным в функциях стандартной библиотеки C? Например, нужно ли освободить указатель возврата функции getenv в st…
03 май '17 в 05:51
1
ответ
Почему нет типов "unsigned wchar_t" и "signature wchar_t"?
Подпись char не стандартизирована. Следовательно, есть signed char а также unsigned char типы. Поэтому функции, работающие с одним символом, должны использовать тип аргумента, который может содержать как символ со знаком, так и символ без знака (это…
23 ноя '16 в 03:42
1
ответ
Как привести к `wint_t` и`wchar_t`?
Стандарты говорят, что приведение к wint_t и к wchar_t в следующих двух программах гарантированно будет правильно? #include <locale.h> #include <wchar.h> int main(void) { setlocale(LC_CTYPE, ""); wint_t wc; wc = getwchar(); putwchar((wch…
23 ноя '16 в 08:24
1
ответ
Что означает аргумент размера setvbuf для небуферизованного потока?
Функция setvbuf() может быть использован, чтобы сделать поток небуферизованным: #include <stdio.h> int setvbuf(FILE *stream, char *buf, int mode, size_t size); Какое значение имеет size аргумент значит, когда mode передается как _IONBF? Будет …
24 мар '18 в 10:48
1
ответ
Почему значение frexp/ldexp находится в диапазоне от [0,5, 1,0)?
Почему функции frexp/ldexp имеют значение, которое находится в диапазоне от [0,5, 1,0), когда значения IEEE 745 на самом деле имеют значение, которое находится в диапазоне от [1,0, 2)?
29 авг '15 в 06:08
2
ответа
Гарантия неравенства указателей на стандартные функции?
Гарантирует ли язык C, что указатели на стандартные функции с разными именами должны сравниваться не одинаково? Согласно 6.5.9 Операторы равенства, №6, Два указателя сравниваются равными тогда и только тогда, когда оба являются нулевыми указателями,…
16 окт '18 в 03:00
0
ответов
Может ли wchar_t быть повышен до wint_t?
Я вижу одно противоречие со ссылкой на glibc и поправкой 1 к C90. Цитата из ссылки на glibc говорит, что wchar_t может быть повышен до wint_t: если wchar_t определен как char, то тип wint_t должен быть определен как int из-за продвижения параметра Н…
23 ноя '16 в 06:40
3
ответа
Не нарушает ли переопределение функции из стандартной библиотеки правило единого определения?
#include <cmath> double log(double) {return 1.0;} int main() { log(1.0); } Предположим, функция log() в <cmath> объявляется в глобальном пространстве имен (это на самом деле не определено, и мы просто делаем это предположение), затем оно…
16 янв '17 в 06:44
1
ответ
Какова цель использования потока памяти в стандартной библиотеке C?
В стандартной библиотеке C, какова цель использования потока памяти (как создается для массива через fmemopen())? Как это по сравнению с манипулированием массивом напрямую? Благодарю.
14 окт '18 в 16:25
8
ответов
Преимущества strncmp перед strcmp?
Кажется strncmp обычно рекомендуется чем strcmp, Каковы преимущества? Я думаю, что это может быть связано с безопасностью. Если это так, то все еще применимо, если известно, что одна из входных строк является литеральной константой, например "Litera…
12 май '15 в 12:10
1
ответ
snprintf: Существуют ли какие-либо стандартные предложения C / планы по изменению описания этой функции?
Существуют ли предложения (или планы) к Стандарту языка C для изменения (последнего предложения) описания snprintf Функция такова, что неоднозначность, описанная в этом моем ответе на вопрос - "Является ли snprintf() ВСЕГДА завершается нулем?"- разр…
24 май '18 в 17:36
1
ответ
Какие конструкции C появляются в пространстве имен std?
Рекомендуемый способ включения заголовка стандартной библиотеки C <foo.h> в C++ стоит включить соответствующий заголовок C++ <cfoo>, Исходя из моего опыта, это помещает некоторые из соответствующих C-конструкций в std пространство имен, …
14 июл '18 в 03:16
2
ответа
Почему islower() и друзья должны обрабатывать EOF?
Почему islower() и друзья должны справиться EOF, в то время как putchar() а друзья не должны? Почему нет islower() лечения int как unsigned char как это бывает в putchar()? Это имело бы смысл, потому что мы должны проверить EOF сначала все равно. См…
21 ноя '16 в 09:35
2
ответа
"getenv": эта функция или переменная могут быть небезопасны." - действительно?
Я использую MSVC для компиляции кода C, который использует функции стандартной библиотеки, такие как getenv(), sprintf и другие, с /W3 набор для предупреждений. Мне сказали MSVC, что: 'getenv': эта функция или переменная может быть небезопасной. Поп…
01 фев '18 в 17:40