C++ 如何在for循环中保存变量?
我制作了一个随机密码生成器。在函数C++ 如何在for循环中保存变量?,c++,for-loop,random,var,C++,For Loop,Random,Var,我制作了一个随机密码生成器。在函数void passwordGenerator(int-sizeOfPassword) 这里的问题是,我试图将程序生成的密码保存在sum中,但我不知道如何正确保存 如何在sum中保存随机数字密码 #include <iostream> #include <ctime> #include <cstdlib> using namespace std; void passwordGenerator(int sizeOfPasswo
void passwordGenerator(int-sizeOfPassword)
这里的问题是,我试图将程序生成的密码保存在sum
中,但我不知道如何正确保存
如何在sum
中保存随机数字密码
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void passwordGenerator(int sizeOfPassword)
{
srand(time(NULL));
char allChars[] = {"0123456789!@#$%^&*abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"};
char sum;
for(int i = 0; i < sizeOfPassword; i++){
sum = sum + allChars[rand()%sizeOfPassword];
}
std::cout<<sum<<std::endl;
}
int main()
{
int sizeOutput;
char wannaPlay = 'y';
while(wannaPlay == 'y'){
std::cout<<"Enter the size of password: ";
std::cin>>sizeOutput;
passwordGenerator(sizeOutput);
std::cout<<"\nRun Again[y/n]? : ";
std::cin>>wannaPlay;
}
return 0;
}
#包括
#包括
#包括
使用名称空间std;
无效密码生成器(int sizeOfPassword)
{
srand(时间(空));
char allChars[]={“0123456789!@$%^&*abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvwxyz”};
字符和;
对于(int i=0;i std::cout您可以逐字显示:
void passwordGenerator(int sizeOfPassword)
{
const char allChars[] = {"0123456789!@#$%^&*abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"};
for (int i = 0; i < sizeOfPassword; i++){
std::cout << allChars[rand() % sizeof (allChars)];
}
}
void密码生成器(int-sizeOfPassword)
{
const char allChars[]={“0123456789!@$%^&*abcdefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyz”};
对于(int i=0;i std::cout您似乎想保存一个字符序列而不是单个字符。尝试使用std::string
和+=
来添加每个字符。@RetiredInja是的,我正在尝试获取数组的序列sum
是单个字符,请将其更改为std::string
,如果您想要数组,可以使用sum.data()
在完成构建string@AlanBirtlesstd::string sum=sum+allChars[rand()%sizeOfPassword]
像这样?@AndrewTruckle我肯定会研究它,但这不是知识差距,而是实践和经验。感谢bud,我之前使用了您提到的第一个代码,但我需要将输出存储在变量中,再次感谢您
std::string passwordGenerator(int sizeOfPassword)
{
const char allChars[] = {"0123456789!@#$%^&*abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"};
std::string password;
for (int i = 0; i < sizeOfPassword; i++){
password += allChars[rand() % sizeof (allChars)];
}
return password;
}