Fehler in zufalls string Funktion
-
char rand_alpha() { char c; do{ c = static_cast<char>(std::rand()%256); }while ( !std::isalpha( c ) ); return c; } string rand_alpha_str (string::size_type sz) { string s; s.reserve(sz); generate_n(std::back_inserter(s), sz, rand_alpha); return s; }Hi,
--edit: okay die anzeige von sz war ein debugger problem, der wert wird richtig übergeben, funktioniert aber trotzdem nicht.
so rufe ich es auf:
string A = rand_alpha_str(8);
-
was heißt denn, funktioniert nicht?
-
Das funktioniert ganz wunderbar.
-
funktioniert nicht heißt, das bei mir nen string aus "schlechten pointern" herrauskommt, oder zumindest nennt es visual studio so.
Athar schrieb:
Das funktioniert ganz wunderbar.
würd ich vom code her auch sagen, aber mein compiller mag es wohl nicht :|
-
also dein bsp. hat bei mir wunderbar funktioniert...
poste doch mal ein compilier-fähiges minimal-bsp. und sag, was bei dir passiert und was du erwartet hättest!?
bb
edit: dennoch würd ich die rand_alpha_str-Funktion anders schreiben - aber das sollte nicht der Fehler sein:
std::string rand_alpha_str(std::string::size_type length) { std::string s(length); std::generate(s.begin(), s.end(), rand_alpha); return s; }