Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Sheddex
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
int main() { CErstellen array[20]; std::stringstream temp_name; for(unsigned int i = 0; i < 20; ++i) { //Vorhandene Daten aus dem Stream entfernen temp_name.str(""); temp_name.clear(); //Gewünschten String zusammensetzen temp_name<< "C:\\" << i+1 << ".bat"; //Eintragen array[i].dname = temp_name.str(); array[i].Schreiben(); } } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 |
static inline const char* va( const char* fmt, ... ) { static char buffer[ 1024 ] = { 0 }; va_list argptr; va_start( argptr, fmt ); vsprintf( buffer, fmt, argptr ); va_end( argptr ); return buffer; } |
Sheddex
unregistriert
Zitat von »"Shade"«
Ich persönlich finde, dass dem so ist.
Desweiteren gibt es bei dir die Beschränkung auf 1024 Zeichen.
Zitat
Dafür gibts bei dir einen großen Overhead, langsamere Ausführung, Heap allokation, beschränkung auf weniger als 1024 Byte (wenn mehr benötigt werden weitere Allokationen fällig), eine unleserliche Syntax, ...
Zitat von »"Theprogrammer"«
Zitat
Dafür gibts bei dir einen großen Overhead, langsamere Ausführung, Heap allokation, beschränkung auf weniger als 1024 Byte (wenn mehr benötigt werden weitere Allokationen fällig), eine unleserliche Syntax, ...
Du meinst doch sicher Nox und nicht Shade...
Zitat von »"David_pb"«
Wieso auf den Heap? Ein normales Array tuts doch auch:
C-/C++-Quelltext
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 // ... static inline const char* va( const char* fmt, ... ) { static char buffer[ 1024 ] = { 0 }; va_list argptr; va_start( argptr, fmt ); vsprintf( buffer, fmt, argptr ); va_end( argptr ); return buffer; } class CErstellen { public: std::string dname; void Schreiben() { printf( "%s\n", dname.c_str() ); } }; int main() { CErstellen foo[ 20 ]; for ( int i = 0; i < 20; ++i ) foo[ i ].dname = va( "c:\\%d.bat", i+1 ); for ( int i = 0; i < 20; ++i ) foo[ i ].Schreiben(); _getch(); }
Werbeanzeige