2013-10-11 33 views

cevap

10

21,5 Sayısal dönüşümleri

unsigned long stoul(const string& str, size_t *idx = 0, int base = 10);

Effects

: Varsa ... call [s] strtoul(str.c_str(), ptr, base) ..., dönüştürülen sonuç döndürür.

Atar: ... Dönüştürülen değer, döndürme türü için verilebilir değerler aralığının dışındaysa out_of_range.

"Dönüşümle değer" Burada strtoul tarafından döndürülen değerdir. Elbette unsigned long türünde olan ve bu nedenle(unsigned long) numaralı döndürme türüne ilişkin verilebilir değerler aralığının dışında olamaz. o int döner ama long döndürür strtol kullanması nedeniyle

Bildiğim kadarıyla söyleyebilirim, sadece stoi, out_of_range atabilir.

Ayrıca, yolu C standart onu dize "-4" kabul edip -(unsigned long)4 eşit bir değer döndürmek için gereklidir, strtoul belirtir. Neden bu şekilde belirtiliyor, bilmiyorum.

+3

teşekkürler, bu sinir bozucu – Kal

İlgili konular