URL: https://www.overclockers.at/coding-stuff/c_laenge_eines_strings_an_einem_char_pointer_99683/page_3 - zur Vollversion wechseln!
vom scope. also zB innerhalb nur innerhalb einer funktion gültig.. damit vermeide ich das kopieren ins ds, weil am ende des scopes die vars wieder aus dem stack fliegen.
Zitat von Ecraftchar* s1 = "wasweisich";
Gibts hier irgendeinen schmäh wie man die Länge dieses Strings herausfindet ohne die Klassenbibliothek zu verwenden?

schneller wäre:
#define STRLEN 10
Zitat von matvom scope. damit vermeide ich das kopieren ins ds
ich mein ja ned so wies wirklich is.. schon klar, dass static vars ins ds kommen. ich frage mich nur ob es den programmierer wirklich einschränken würde, wenn ein konstanter string nicht statisch, sondern lokal wäre - also genauso wie eine lokale variable, und die wär ja nur im stack.
Naja, sowas ist schon ganz nützlich:
Code:const char *getname() { return "hello"; }
aber in der praxis nicht zu verwenden, weil man hier ein makro machen würde.
Dann denk's dir halt so:
Code:const char *quip(int n) { switch (n) { case 7: return "Do not believe in miracles. Rely on them."; case 70: return "It is morally wrong to allow naive end users to keep their money."; case 666: return "Save a cow. Eat a vegetarian!"; case 1337: return "My programs don't have any bugs I didn't put there."; } return NULL; }
..dachte mir das jetzt sowas kommt 
IMO ein typischer fall für ein static array, eben etwas explizit deklariertes. na ja, egal.. sowas kann man wahrscheinlich gar ned ausdiskutieren, weils immer 100 verschiedene möglichkeiten gibt. 
add: ausserdem is sowas hardgecodet ein böses nono 
der typ wollt eigentlich nur buchstaben zaehlen
Das war nicht interessant genug
Aber anregend war's offensichtlich 
zu den 100en möglichkeiten kommt dann (oder doch scho vorher) die frage der performance hinzu
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026