Als «c» getaggte Fragen

C ist eine universelle Programmiersprache, die für die Systemprogrammierung (Betriebssystem und eingebettet), Bibliotheken, Spiele und plattformübergreifende Programme verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899 definiert (die neueste Version, 9899: 2018, sofern nicht anders angegeben - auch tagversionsspezifische Anforderungen mit c89, c99, c11 usw. kennzeichnen). C unterscheidet sich von C ++ und sollte ohne einen rationalen Grund nicht mit dem C ++ - Tag kombiniert werden.

3
Wie kann ich eine Ganzzahl aus einer Zeichenfolge extrahieren?
Ich arbeite an einer Aufgabe und als Teil davon muss ich die Ganzzahl aus einer Zeichenfolge extrahieren. Ich habe versucht, die atoi()Funktion zu verwenden, aber sie gibt immer a zurück 0, also habe ich auf umgeschaltet strtol(), aber es wird immer noch a zurückgegeben 0. Ziel ist es, die Ganzzahlen …




2
Das Argument va_list ist eigentlich keine va_list
Beim Versuch, diesen Code zu kompilieren #include <stdarg.h> void bar_ptr(int n, va_list *pvl) { // do va_arg stuff here } void bar(int n, va_list vl) { va_list *pvl = &vl; // error here bar_ptr(n, pvl); } void foo(int n, ...) { va_list vl; va_list *pvl = &vl; // fine here …


3
Array-Elemente von struct und struct-Mitgliedern
Ich möchte nach einer Strukturdeklaration in C fragen. Zum Beispiel: struct Person { char name[50]; int citNo; float salary; } prsn[20]; Was macht [20]das Was bedeutet das? Beschränkt es den Namen auf 20 (von 50) oder den prsnvon prsn[1]auf prsn[20]? Und wenn ich den Code so schreibe: struct Person { …
8 c  struct 

1
So testen Sie, ob PyObject einen Iterator hat
Ich implementiere eine C-Funktion als Erweiterung für Python. Im Inneren abstract.hfand ich Folgendes: /* ==== Iterators ================================================ */ /* Takes an object and returns an iterator for it. This is typically a new iterator but if the argument is an iterator, this returns itself. */ PyAPI_FUNC(PyObject *) PyObject_GetIter(PyObject *); /* …
8 python  c 

1
Warum benötigen GCC Atomic Builtins eine zusätzliche "generische" Version?
Laut https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html gibt es: type __atomic_load_n (type *ptr, int memorder) und (das "generische"): void __atomic_load (type *ptr, type *ret, int memorder) dann void __atomic_store_n (type *ptr, type val, int memorder) und ("das Generikum") void __atomic_store (type *ptr, type *val, int memorder) usw. Was ist generisch an den letzteren Versionen (das …


3
Speichert struct tm Zeitzoneninformationen als Datenelement
Betrachten Sie den folgenden C ++ - Code #include <ctime> #include <iostream> int main() { std::time_t now = std::time(nullptr); struct tm local = *std::localtime(&now); struct tm gm = *std::gmtime(&now); char str[20]; std::strftime(str, 20, "%Z", &local); std::cout << str << std::endl; // HKT std::strftime(str, 20, "%Z", &gm); std::cout << str << …
8 c++  c  ctime  time.h 

4
Wie müssen wir zwei ganze Zahlen vergleichen?
Ich habe kürzlich ein Programm geschrieben, das ein Array sortiert. Dafür musste ich eine Vergleichsfunktion schreiben, die ich weitergeben werde. Meine Vergleichsfunktion sollte 1 (wenn x> y), -1 (wenn x <y) oder 0 (wenn x = y) zurückgegeben haben. Ich habe eine reguläre Funktion (Funktion 1) mit bedingten Ausdrücken geschrieben, …
8 c 


2
Standardkonformität eines C-Makros
Ich habe dieses kleine Juwel hier (Idee schamlos aus den C-FAQ gestohlen): /* A lot of checks omitted to get rid of the architectures with a "weird" endianness */ /*...*/ #define MP_ENDIANESS ( (0x41424344ul == *(uint32_t*)"ABCD") ? MP_BIG_ENDIAN : MP_LITTLE_ENDIAN ) Entspricht es dem neuen aktuellen Standard (C-18 zum Zeitpunkt …
8 c++  c 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.