我試圖但是它不保存我的思維方式存儲號碼作爲一個char矢量字符代號爲將一個int轉換爲char。不存儲
code->at(i) = static_cast<char>(distribution(generator));
正確的價值它應該
有些人不應該''x4'ascii值爲4?如果不是,我該如何實現這一結果?
這是另一個向量誰的值輸入正確。
我試圖但是它不保存我的思維方式存儲號碼作爲一個char矢量字符代號爲將一個int轉換爲char。不存儲
code->at(i) = static_cast<char>(distribution(generator));
正確的價值它應該
有些人不應該''x4'ascii值爲4?如果不是,我該如何實現這一結果?
這是另一個向量誰的值輸入正確。
您正在執行轉換,但實際上並未將int轉換爲char。您需要:
code->at(i) = distribution(generator) + '0';
謝謝,那是一種享受。以爲我忘記了一些東西 – 2014-09-20 13:52:53
另外,爲什麼不簡單地設置一個'uniform_int_distribution
號\xN
不給你的角色N
的ASCII碼。
\xN
是 ASCII字符&dagger;,其代碼爲N
(在他的x adecimal形式)。
所以,當你寫'\x4'
,你得到的[無法打印]字符與ASCII碼4在轉換成整數,該值仍是4
如果你想看起來像4
ASCII字符,你會寫'\x34'
,因爲34是4
的ASCII碼。你也可以到那裏使用一些魔法的基礎上,在ASCII碼是連續的,並從'0'
開始:
code->at(i) = '0' + distribution(generator);
&匕首; Ish。
''\ x4''是..'4'。很確定你正在考慮''''''''\ x34'' – WhozCraig 2014-09-20 12:49:23
可能重複[如何將int轉換爲char c](http://stackoverflow.com/questions/1114741/how-to- convert-int-char-c) – 2014-09-20 12:52:23