C++输出随机字符

先加载库:string.h、Windows.h、iostream

另外还必须加using namespase std;

接着,我们创建一个string类型字符串

;写入自定义字母:string ranstr = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890"

之后重新定义一个空字符串:string str = "";

然后用for指令:

for(int i = 0;i<输出字符串长度;i++){

str = str + ranstr[rand() % 62];

//62是ranstr的长度

}

最后打印字符串

printf(str.c_str());//用c_str是转换string用的,printf的参数是const char类型

看最终代码

#include<Windows.h>

#include<iostream>

#include<stdlib.h>

#include<string.h>

using namespace std;

string ranstr = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";

string str = "";

int main() {

    for (int i = 0; i < 1000; i++) {

        str = str + ranstr[rand() % 62];

    }

    printf(str.c_str());

}

如果不随机的话可以用彩虹猫的random函数:

HCRYPTPROV prov;
int random() {
    if (prov == NULL)
        if (!CryptAcquireContext(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT | CRYPT_VERIFYCONTEXT))
            ExitProcess(1);

    int out;
    CryptGenRandom(prov, sizeof(out), (BYTE*)(&out));
    return out & 0x7fffffff;
}

C++中,如果你想随机输出一个字符串,你可以通过以下几个步骤来实现: 1. 首先,你需要包含必要的头文件,如 `<iostream>` 和 `<string>`, 以及可能用于生成随机数的 `<cstdlib>` 或 `<random>`。 ```cpp #include <iostream> #include <string> #include <cstdlib> // 如果使用 C 样式的随机生成 // 或者 #include <random> // 如果使用 C++11 的随机生成 ``` 2. 定义一个字符串数组,存储你想要随机选择的字符串。 ```cpp std::string strings[] = {"Hello", "World", "C++", "Programming"}; const size_t string_count = sizeof(strings) / sizeof(strings[0]); ``` 3. 使用随机生成函数从字符串数组中随机选择一个元素。如果你使用的是 C 样式库,可以这样做: ```cpp int random_index = rand() % string_count; // 生成 [0, string_count - 1] 范围内的随机整数 std::cout << strings[random_index]; ``` 4. 如果你想使用 C++11 的随机生成,可以使用 `<random>` 库创建一个 `std::mt19937` 发生器,并配合 `std::uniform_int_distribution` 来保证随机性: ```cpp std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, string_count - 1); auto random_index = dis(gen); std::cout << strings[random_index]; ``` 5. 最后,别忘了关闭输入流,确保程序正确运行。 完整的例子示例: ```cpp #include <iostream> #include <string> #include <cstdlib> std::string strings[] = {"Hello", "World", "C++", "Programming"}; const size_t string_count = sizeof(strings) / sizeof(strings[0]); int main() { // 使用 C++11 随机数 std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, string_count - 1); int random_index = dis(gen); std::cout << "Randomly selected string: " << strings[random_index] << std::endl; return 0; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值