Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ Anzahl Strings in C zählen? (https://www.delphipraxis.net/156509-anzahl-strings-c-zaehlen.html)

ErazerZ 5. Dez 2010 00:22

AW: Anzahl Strings in C zählen?
 
Code:
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++ ) {
oder du machst nen zähler der solang hochzählt bis words wahr ist:
Code:
int n = 0;
while ( words[n] ) { n++;

Assarbad 5. Dez 2010 00:52

AW: Anzahl Strings in C zählen?
 
Zitat:

Zitat von ErazerZ (Beitrag 1066259)
Code:
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++ ) {

Jupp, das hat mich jetzt noch auf was anderes gebracht. Es gibt vielfach auch ein countof() Makro, welches als Gegenpart zu sizeof() gedacht ist. Wenn ich mich recht entsinne ist das sogar in irgendeinem Standard vorgeschlagen worden.

Zitat:

Zitat von ErazerZ (Beitrag 1066259)
oder du machst nen zähler der solang hochzählt bis words wahr ist:
Code:
int n = 0;
while ( words[n] ) { n++;

unwahr ... ist aber gewagt wenn jemand mal das NULL vergißt ;)

ErazerZ 5. Dez 2010 20:16

AW: Anzahl Strings in C zählen?
 
Zitat:

Zitat von Assarbad (Beitrag 1066261)
Zitat:

Zitat von ErazerZ (Beitrag 1066259)
Code:
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++ ) {

Jupp, das hat mich jetzt noch auf was anderes gebracht. Es gibt vielfach auch ein countof() Makro, welches als Gegenpart zu sizeof() gedacht ist. Wenn ich mich recht entsinne ist das sogar in irgendeinem Standard vorgeschlagen worden.

Zitat:

Zitat von ErazerZ (Beitrag 1066259)
oder du machst nen zähler der solang hochzählt bis words wahr ist:
Code:
int n = 0;
while ( words[n] ) { n++;

unwahr ... ist aber gewagt wenn jemand mal das NULL vergißt ;)


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

pixfreak 6. Dez 2010 07:05

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:
sizeof(word_list) / sizeof(word_list[0]) oder
sizeof(word_list) / sizeof(char *)
brauche ich im Array keinen NULL Kenner, um das Ende aufzuzeigen. Allerdings bekomme ich bei
Code:
char *word_list[] = {}
auch immer eins als Anzahl....

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 23:46 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz