Ich mochte keine dieser Antworten, also habe ich meine eigenen gemacht. Ich weiß nicht, ob dies ANSI C ist oder nicht, es ist nur GCC 4.2.1 im Standardmodus. Ich kann mich nie an die Klammer erinnern, also beginne ich mit einer Teilmenge meiner Daten und kämpfe mit Compiler-Fehlermeldungen, bis sie geschlossen werden. Lesbarkeit ist meine oberste Priorität.
// in a header:
typedef unsigned char uchar;
struct fields {
uchar num;
uchar lbl[35];
};
// in an actual c file (I have 2 in this case)
struct fields labels[] = {
{0,"Package"},
{1,"Version"},
{2,"Apport"},
{3,"Architecture"},
{4,"Bugs"},
{5,"Description-md5"},
{6,"Essential"},
{7,"Filename"},
{8,"Ghc-Package"},
{9,"Gstreamer-Version"},
{10,"Homepage"},
{11,"Installed-Size"},
{12,"MD5sum"},
{13,"Maintainer"},
{14,"Modaliases"},
{15,"Multi-Arch"},
{16,"Npp-Description"},
{17,"Npp-File"},
{18,"Npp-Name"},
{19,"Origin"}
};
Die Daten beginnen möglicherweise als tabulatorgetrennte Datei, die Sie suchen und ersetzen, um sie in etwas anderes zu massieren. Ja, das ist Debian-Zeug. Also ein äußeres Paar von {} (das das Array angibt), dann ein weiteres Paar für jede innere Struktur. Mit Kommas zwischen. Das Einfügen von Dingen in einen Header ist nicht unbedingt erforderlich, aber ich habe ungefähr 50 Elemente in meiner Struktur, sodass ich sie in einer separaten Datei haben möchte, um das Durcheinander aus meinem Code herauszuhalten und es einfacher zu ersetzen.