![]() |
Anzahl Strings in C zählen?
Hallo,
brauche einen Tipp wie man folgende Strings zählen kann.
Code:
Soll ich die Kommas zählen und daraus auf die Anzahl der Strings kommen oder gibt's da ne extra Funktion die das macht?
char *word_list[]={"Vorname", "Nachname", NULL}; //Hier können auch viel mehr Strings stehen
Danke! |
AW: Anzahl Strings in C zählen?
Vergiß nicht, daß auch mal ein Komma in einem String vorkommen kann, dann bringt das Zählen nicht viel.
Code:
Du könntest die TStringList nutzen ... mit StrictDelimiter oder so, da diese ja auch das " beachten könnte.
"Vorname", "Nachname", NULL, "text mit , drinnen", 132
Ansonsten mußt du dir einen Parser basteln, welcher von vorne durchgeht und davei
Delphi-Quellcode:
, , und besser auch noch
"
Delphi-Quellcode:
und
\"
Delphi-Quellcode:
beachtet.
\\
Und dann eben nurn noch außerhalb der Zeichenketten die , zählt. (das
Delphi-Quellcode:
ist dir ja bestimmt schon bekannt)
Anzahl = Kommaanzahl + 1
|
AW: Anzahl Strings in C zählen?
Und irgendwelche Standardfunktion in der <string.h> gibt's nicht? Muss ich das also per Hand machen?
|
AW: Anzahl Strings in C zählen?
also ... soll das jetzt in einem C-Programm gezählt werden oder nur mit einem Delphi-Programm in diesem C-Code? :gruebel:
Und wenn in einem C-Programm ... ist dieses mit eincompiliert und gibt es da nicht auch sowas wie ![]() |
AW: Anzahl Strings in C zählen?
Ne das hat mit Delphi nix zu tun. Ich muss einfach nur in C zählen wie viel Strings da drin sind und fertig!
|
AW: Anzahl Strings in C zählen?
Dann ermitlle doch die Anzahl der Einträge in dem Array
|
AW: Anzahl Strings in C zählen?
Zitat:
In 'nem Delphi-Forum denkt man natürlich zuerst an Delphi. :wink: PS: Dafür gab es das "Präfix" vor der Überschrift. |
AW: Anzahl Strings in C zählen?
Zitat:
|
AW: Anzahl Strings in C zählen?
Zitat:
|
AW: Anzahl Strings in C zählen?
Eine Methode ist:
Code:
... dann haste aber den Eintrag mit dem NULL auch dabei.
sizeof(word_list)/sizeof(word_list[0])
|
AW: Anzahl Strings in C zählen?
Code:
oder du machst nen zähler der solang hochzählt bis words wahr ist:
for ( int n = 0; n < sizeof(words) / sizeof(words[0]); n++ ){
bzw. ARRAYSIZE macro macht das gleiche: for ( int n = 0; n < ARRAYSIZE(words); n++ ) {
Code:
int n = 0;
while ( words[n] ) { n++; |
AW: Anzahl Strings in C zählen?
Zitat:
Zitat:
|
AW: Anzahl Strings in C zählen?
Zitat:
ja ich meinte solange es wahr ist zählen, wenns unwahr ist abbrechen :D und gewagt, naja, wenn ers selber entwickelt die listen? ist ja dann egal |
AW: Anzahl Strings in C zählen?
Moin zusammen,
ich würde die Daten so auch nicht speichern, ausser ich hab z. B. eine fixe Fehlerliste mit einer am besten als Konstanten gespeicherten Anzahl, und es kann nicht passieren, dass ich auf ein Element zugreife, was garnicht existiert. Ansonsten wäre ja auch ein word_list[11] ein "gültiger" Zugriff :!: Und bitte nur lesend, nicht schreibend auf die word_list zugreifen, sonst kann es auch unangenehm werden, wenn der neue String länger als der Alte ist... :!: Bei
Code:
brauche ich im Array keinen NULL Kenner, um das Ende aufzuzeigen. Allerdings bekomme ich bei
sizeof(word_list) / sizeof(word_list[0]) oder
sizeof(word_list) / sizeof(char *)
Code:
auch immer eins als Anzahl....
char *word_list[] = {}
Wenn ich es genau und immer sicher wissen will und es gibt NULL, dann ist das durchiterieren auch ne Moglichkeit, aber wehe das NULL fehlt:-D Also ich würde um es wirklich sicher zu bekommen auf eine TStringList ausweichen bzw. in C++ einen vector oder einen ähnlichen Container nehmen. VG Pixfreak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz