c- все статьи тега ➜ страница 8
Могу ли я использовать двоичный литерал в C или c++?
мне нужно работать с двоичным числом. Я пыталась написать: const x = 00010000; но это не сработало. Я знаю, что могу использовать шестнадцатеричное число, которое имеет то же значение, что и 00010000, но я хочу знать, есть ли тип в C++ для двоичных чисел, а если нет, есть ли другое решение для моей проблемы? ...
В чем разница между AF INET и PF INET в программировании сокетов?
в чем разница между AF_INET и PF_INET в программировании сокетов? я путаюсь между использованием AF_INET и PF_INET в socket() и bind(). кроме того, как дать IP-адрес в sin_addr поле? ...
В чем разница между спецификаторами преобразования %i и %d в форматированных функциях ввода-вывода (*printf / * scanf)
в чем разница между %d и %i при использовании в качестве спецификаторов формата в printf? ...
# pragma pack эффект
мне было интересно, может ли кто-нибудь объяснить мне, что такое #pragma pack оператор препроцессора делает, и что более важно, почему его нужно использовать. Я проверил страница MSDN, который предложил некоторое представление, но я надеялся услышать от людей с опытом. Я видел это в коде раньше, хотя я больше не могу найти, где. ...
Зачем scanf() нужен "%lf" для двойников, когда printf () в порядке только с "%f"?
почему scanf() нужны l в "%lf" при чтении double, когда printf() можно использовать "%f" независимо от того, является ли его аргумент double или float? пример кода: double d; scanf("%lf", &d); printf("%f", d); ...
Что такое реентерабельная функция?
большинствонаtheвремени, определение reentrance цитируется из Википедия: компьютерная программа или подпрограмма описывается как реентерабельный, если это возможно безопасное позвонил еще раз перед его предыдущий вызов был завершен (т. е. он может быть безопасно выполнен одновременно.) Чтобы быть реентерабельным, а компьютерная программа или рутина: не должно содержать статических (или глобальных) непостоянные данные. не должен возвращать адрес статические (или г ...
Является ли имя массива указателем?
является ли имя массива указателем в C? Если нет, то в чем разница между именем массива и переменной указатель? ...
Как сделать вариативный макрос (переменное количество аргументов)
Я хочу написать макрос в C, который принимает любое количество параметров, а не конкретное число пример: #define macro( X ) something_complicated( whatever( X ) ) здесь X - это любое количество параметров мне это нужно, потому что whatever перегружен и может быть вызван с 2 или 4 параметрами. Я попытался определить макрос дважды,но второе определение переписало первое! компилятор, с которым я работаю, - это g++ (более конкретно, mingw) ...
Удаление завершающего символа новой строки из ввода fgets()
Я пытаюсь получить некоторые данные от пользователя и отправить его в другую функцию в gcc. Код что-то вроде этого. printf("Enter your Name: "); if (!(fgets(Name, sizeof Name, stdin) != NULL)) { fprintf(stderr, "Error reading Name.n"); exit(1); } однако, я считаю, что он имеет строку n символ в конце. Так что если я войду John это заканчивается отправкой Johnn. Как мне удалить это n и отправить соответствующую строку. ...
Почему функции переменных состояния pthreads требуют мьютекса?
Я читаю на pthread.h; функции, связанные с переменной условия (например,pthread_cond_wait(3)) требуется мьютекс в качестве аргумента. Зачем? Насколько я могу судить, я собираюсь создать мьютекс просто использовать в качестве аргумента? Что этот мьютекс должен делать? ...
Вперед вызов функции с переменным числом аргументов в C
В C, можно ли переслать вызов функции с переменным числом аргументов? То есть, int my_printf(char *fmt, ...) { fprintf(stderr, "Calling printf with fmt %s", fmt); return SOMEHOW_INVOKE_LIBC_PRINTF; } пересылка вызова указанным выше способом, очевидно, не является строго необходимой в этом случае (поскольку вы можете регистрировать вызовы другими способами или использовать vfprintf), но кодовая база, над которой я работаю, требует, чтобы оболочка выполняла некоторую фактическую работу ...
В C фигурные скобки действуют как кадр стека?
Если я создаю переменную в новом наборе фигурных скобок, эта переменная выскочила из стека на закрывающей скобке или она висит до конца функции? Например: void foo() { int c[100]; { int d[200]; } //code that takes a while return; } будет d занимайте память во время ? ...
предупреждение: несовместимые неявное объявление встроенная функция ‘АБВ’
Я получаю ряд этих предупреждений при компиляции нескольких двоичных файлов: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ чтобы попытаться решить эту проблему, я добавил #include <stdlib.h> в верхней части файлов C, связанных с этим предупреждением, в дополнение к компиляции со следующими флагами: CFLAGS = -fno-bu ...
Безопасно ли анализировать файл/ proc/?
Я хочу парсить /proc/net/tcp/, но это безопасно? Как я должен открывать и читать файлы из /proc/ и не бойтесь, что какой-то другой процесс (или сама ОС) будет менять его в то же время? ...
Почему этот код уязвим для атак переполнения буфера?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } этот код уязвим для атаки переполнения буфера, и я пытаюсь выяснить, почему. Я думаю, что это имеет отношение к len объявляется a short вместо int, но я не совсем уверен. какие идеи? ...
Как обрезать начальные / конечные пробелы стандартным способом?
существует ли чистый, предпочтительно стандартный метод обрезки ведущих и конечных пробелов из строки в C? Я бы свернул свой собственный, но я бы подумал, что это общая проблема с одинаково общим решением. ...
Как конвертировать указатель файла (FILE* fp) в файловый дескриптор (int fd)?
у меня есть FILE *, возвращенный вызов fopen(). Мне нужно получить файловый дескриптор от него, чтобы сделать вызовы, такие как fsync(fd) на нем. Какова функция для получения дескриптора файла из Указателя файла? ...
Полезные флаги GCC для C
за задание -Wall, а параметр -std=XXX, что другие действительно полезные, но менее известные флаги компилятора для использования в C? меня особенно интересуют любые дополнительные предупреждения и / или превращение предупреждений в ошибки в некоторых случаях, чтобы полностью свести к минимуму любые случайные несоответствия типов. ...
Почему volatile не считается полезным в многопоточном программировании на C или c++?
как показано в ответ Я недавно опубликовал, я, кажется, смущен полезностью (или ее отсутствием)volatile в многопоточных контекстах программирования. мое понимание таково: каждый раз, когда переменная может быть изменена вне потока управления куска кода доступа к ней, что переменная должна быть объявлена volatile. Обработчики сигналов, регистры ввода-вывода и переменные, модифицированные другим потоком, все составляют такие положения. Итак, если у вас есть глобальный int foo и foo считывается ...
Мьютекс пример / учебник?
Я новичок в многопоточности, и пытался понять, как работают мьютексы. Сделал много гуглить и Я нашел неплохой учебник, но это все еще оставляло некоторые сомнения в том, как это работает, потому что я создал свою собственную программу, в которой блокировка не работала. один абсолютно неинтуитивный синтаксис мьютекса pthread_mutex_lock( &mutex1 );, где похоже, что мьютекс блокируется, когда то, что я действительно хочу заблокировать, - это какая-то другая переменная. Означает ли этот синтакс ...