У меня проблема с моей функцией, которая должна генерировать вектор случайных строк. Тем не менее, все, что я получаю, это первый элемент в векторе, является случайным, а остальное пустым. Вот код:Создание случайного вектора строк в C++
void losuj(vector <string> &vec, int ile){
int i, j;
string str;
stringstream ss;
char c;
for(i=0; i<ile; i++){
for(j=0; j<5; j++){
c= rand()%25 + 97;
ss << c;
}
ss >> str;
vec.push_back(str);
ss.str().clear();
str.clear();
}
}
Любые мысли о том, что может быть неправильным?
не 'ss.str()' просто вернуть строку, а не что-нибудь еще? вызывая 'clear' на том, что не будет делать слишком много, я думаю? – TankorSmash
Потерять поток струн. он не нужен. локального 'str' внутри внешнего for-цикла с использованием' str.append (c) 'будет достаточно. И '' сделал бы это * много * чище, кстати. –
WhozCraig
Пожалуйста, используйте символьные литералы, такие как «А», вместо цифр, таких как 97. –