【发布时间】:2020-12-08 07:51:06
【问题描述】:
我只是编写了一个程序,它将每个字符的字符串转换为 uft8 值
示例:a in utf8 decimal = 97/ utf8 十进制中的 5 = 53...
这里是我的代码:
string word;//keyWord
vector<__int8> tableau;//utfValueTab
cout << "Entre un mot de passe : " << endl;
cin >> word;
//FONCTION CONVERTION STRING > UTF8 VALUE FOR EACH CHAR
for (int a = 0; a < word.length(); a++) {
__int8 utfValue = 0;
for (short i = 0; i < 255 && word.at(a) != char(i); i++) {
utfValue++;
}
tableau.push_back(utfValue);
cout << tableau[a] << endl;
}
cout << "Voici votre mot de passe decoupe" << endl;
问题是,tableau[a] 返回 char 而不是 __int8 值,我不明白为什么,因为我的“tableau”像 uftValue 一样在 __int8 中。
那么,push_back 函数只返回字符和字符串值?
感谢您的帮助。
【问题讨论】:
-
旁注:
push_back()的返回类型是void在这里无关紧要。 -
好的,谢谢你的遮阳篷,我会检查它
-
就是这样,__int8 不能打印,所以我使用 short 并且它现在可以工作了!谢谢哟