简体   繁体   English

错误:从“const char*”到“unsigned char”的无效转换 [-fpermissive]

[英]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.

相关问题 奇怪的错误,错误:从&#39;const char *&#39;到&#39;char&#39;的无效转换[-fpermissive] - Weird Error, error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive] 错误:从 &#39;void*&#39; 到 &#39;const uint8_t* {aka const unsigned char*}&#39; [-fpermissive] 的无效转换 - error: invalid conversion from 'void*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive] 从&#39;char&#39;到&#39;const char *&#39;的无效转换[-fpermissive] - Invalid conversion from 'char' to 'const char*' [-fpermissive] 从&#39;const char *&#39;到&#39;char *&#39;的无效转换[-fpermissive] - invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] 错误:从 'const char*' 到 'char*' 的无效转换 [-fpermissive] - Error : invalid conversion from 'const char*' to 'char*' [-fpermissive] 如何修复从 'char' 到 'const char*' [-fpermissive] 的错误无效转换? - How to fix error invalid conversion from 'char' to 'const char*' [-fpermissive]? 错误:从&#39;char&#39;到&#39;const char *&#39;的无效转换[-fpermissive] | - error: invalid conversion from 'char' to 'const char*' [-fpermissive]| (C++) 错误:从 'char' 到 'const char*' 的无效转换 [-fpermissive] - (C++) error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive] 从“char”到“const char*”的无效转换 [-fpermissive] 错误 - Getting invalid conversion from 'char' to 'const char*' [-fpermissive] error 错误:从&#39;const char *&#39;到&#39;char *&#39;的无效转换[-fpermissive] - error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM