• Hallo Gast, du kaufst gerne günstig ein und erfährst oft vor deinen Freunden von interessanten Angeboten? Dann kannst du dein Talent als Schnäppchenjäger jetzt zu Geld machen und anderen PCGH-Lesern beim Sparen helfen! Schau einfach mal rein - beim Test der Community Deals!

Array von Strings C(++)

PCIT

Freizeitschrauber(in)
Hallo, es geht darum eine kleine Datenstruktur zu schreiben, die Angestellte organisiert.
Ein Angestellter besucht verschiedene Kurse (String) und diese Kurse sollen als Feld verwaltet werden.
So das Problem nun ist aber, dass ich auschließlich Bibliotheksfunktionen für Ein und Ausgabe verwenden darf, also sowas wie strcpy nicht, und das kommt eben in gefühlt jeder Lösung vor, die ich gefunden habe. Das zweite Problem ist, das in der Aufgabenstellung steht, dass ein Nullzeiger ausdrücken soll, wenn eine Kurs nicht vorhaben, bzw. nicht besucht wurde. Also funktioniert ja sowas z.B. auch nicht.
char *bla[] = {"Kurs1", "Kurs2", "Kurs3", .....};

Wie also regel ich das mit dem Nullzeiger?
 
TE
P

PCIT

Freizeitschrauber(in)
Hm ich denke eigentlich ist es egal, da wir beides verwenden können, aber Speicherverwaltung soll mit new/delete erfolgen, das ist ja C++.
 

Crysis nerd

Freizeitschrauber(in)
Oh God, klingt mal wieder nach sonem Lehrer/Dozenten/sonstwas der absolut keine Ahnung von C++ (wahrscheinlich auch nicht von C) hat -.-
Du müsstest uns etwas mehr Infos geben, das reicht noch nicht um dir großartig zu helfen.

Code:
typedef struct {
  const char *kurs;
  // andere daten
} Angestellter;

Sowas sollte doch deinen Anforderungen genügen? Dann baust du dir noch tolle funktionen dafür.

Und warum soll dein Code da oben eigentlich nicht funktionieren? Bei mir funktioniert das wunderbar. Obwohl natürlich const char *bla[] = ...; besser wäre.
 
V

VikingGe

Guest
Also das genaue Problem verstehe ich bis hier hin auch noch nicht - ein paar konkretere Infos, was gefordert ist, wären super.

Aber grundsätzlich funktionieren Nullpointer auch mit C-Strings. Bei deinem Beispiel:
Code:
const char* bla[] = {"Kurs1", "Kurs2", nullptr, "Kurs4", .....};

Keine Ahnung, ob das jetzt ansatzweise dem entspricht, was du brauchst, aber...
 
C

Crymes

Guest
Du könntest dir -besonders in C++ - eine String Klasse selbst schreiben und die strcpy Funktion selbst implementieren.
Zumimdest strcpy macht nicht viel.
 
C

Crymes

Guest
Mir fallen grad noch 2-Dimensionale Arrays ein, wie char[Kurs][char-Kette für Name] .
 
Oben Unten