[英]error: invalid conversion from 'const char*' to 'unsigned char' [-fpermissive]
I plan to use C++ to make a random password generator (replacing python for speed), so I typed characters.我打算使用 C++ 来制作一个随机密码生成器(为了速度取代 python),所以我输入了字符。 When I input all characters, an error occurs:
当我输入所有字符时,出现错误:
warning: character constant too long for its type
const unsigned char chars[] = {"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\\|;:'" + '",<.>/?'};
^~~~~~~~~
main.cpp:3:123: error: invalid conversion from 'const char*' to 'unsigned char' [-fpermissive]
const unsigned char chars[] = {"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\\|;:'" + '",<.>/?'};
#include <iostream>
const unsigned char chars[] = {"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\\|;:'" + '",<.>/?'};
//abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/?
int main(){
std::cout << chars;
return 0;
}
Did you try using std::string they are easier to manipulate and they are more similar to python您是否尝试过使用 std::string 它们更容易操作并且更类似于 python
You are using '",<.>/?'您正在使用 '",<.>/?' in the second part. You can normally use ' ' with chars. Use instead following with escape char \
在第二部分中。您通常可以将 ' ' 与字符一起使用。使用转义字符 \
#include <iostream>
const std::string chars= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/?";
//abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/?
int main(){
std::cout << chars;
return 0;
}
this is the code (been fixed):这是代码(已修复):
#include <iostream>
using namespace std;
//abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/?
class generate{
public:
void generate_random_password(){
const char* word = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()-_=+[{]}\\|;:',<.>/?\"";
cout << word;
}
};
int main(){
generate test;
test.generate_random_password();
int test2;
std::cin >> test2;
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.