如何将十六进制整数转换为 C++ 中的字符串(对于 html 颜色)?

How to Convert hexadecimal integer into a string in c++ (for html colors)?

Bonjourno、Bonsoir、Konbanwa、Ave [...]

我尝试将 int 转换为十六进制,然后转换为字符串以生成 html 颜色...

你知道怎么做吗?

我试过了:

        int rouge=  0x0 ;    //red in french
        int vert=   0x0 ;    //green
        int bleu=   0xff;    //blue
        int couleur=0x0 ;    //color

        bleu*=256*256;
        vert*=256;

        couleur=rouge+vert+bleu; 

        cout<<"couleur"<<couleur<<endl;

        stringstream ss2;    // #include <sstream> if someone want to do it also ^^
        ss2 <<hex<<couleur; // convert  int to stringstream  works if decimal
        cout<<ss2<<hex<<endl;

        string string_couleur = ss2.str();  // convert streamstring to string

        for (int nombre_0_devant=6-string_couleur.size(); nombre_0_devant>0;nombre_0_devant--) string_couleur="0"+string_couleur;  // just a line to add needed 0   ff --> 0000ff

        html+="#"+string_couleur+">";

它给出:

0x28f738       

:(

感谢阅读!

对不起

cout<<"string"<<string_couleur<<"\n";

有效!

我没有打印好的变量。

我不删除这个问题,因为它可能对某人有帮助。