小编N00*_*dge的帖子

运行随机ID生成时C++分段错误

当我打电话时,我目前正在收到分段故障(分段故障:11)newUnitID().

不知道我做错了什么.

这是我的头文件,其函数是:

#include <iostream>
#include <cstring>
#include <string>
#include <cstdlib>
#include <ctime>
#include <vector>
#ifndef UnitManager
#define UnitManager
using namespace std;

char randomIDChar(){
    static const char alphanum[] =
        "0123456789"
        "!@#$%^&*"
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        "abcdefghijklmnopqrstuvwxyz";
    int stringLength = sizeof(alphanum) - 1;
    srand(time(0));
    for(int z=0; z < 21; z++)
    {
        return alphanum[rand() % stringLength];
    }
    return 1;
}

string newUnitID(){
    vector<char> v;
    for(int i=0; i < 50; i++){
        v[i] = randomIDChar();
    }
    string str(v.begin(),v.end());
    return str;
}

#endif
Run Code Online (Sandbox Code Playgroud)

c++ string random stdstring

0
推荐指数
1
解决办法
601
查看次数

标签 统计

c++ ×1

random ×1

stdstring ×1

string ×1