dize göz önüne alındığında find(cbegin(foo), cend(foo), [](const auto& i) { return isspace(i); })
Yerel ayarlarımın Whitespaces dizisini nasıl alabilirim? Ben yaparak boşluk için bir yineleyici bulabilirsiniz <code>const auto foo = "loremtipsum"s</code></p> <p>:
Ama pozisyon istiyorum.
- Kullanım
distance
:distance(cbegin(foo), find(cbegin(foo), cend(foo), [](const auto& i) { return isspace(i); }))
isspace
bakın ve bu içeriği bir kodlanmış dize oluşturmak: Açıkçafoo.find_first_of(" \f\n\r\t\v")
basittir ve bu dönecektir Bunun için iki seçenek vardır string::npos
için 'u test etmek zorundayım, ancak yerel dizimden dizgiyi harcalamak yerine bir dizi tüm boşlukları sağlamasını istemek istiyorum. Bu dizeyi elde etmek için kullanabileceğim bir işlev mi yoksa onu pişirmenin bir yolu var mı?
* Açıkça * seçenek 2 daha mı basit? Huh. Ben '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '']. – Voo
@Voo * Açıkça *. 'Uzaklık 'konumlarıyla çalışırken sinir bozucu olduğunu ekledim çünkü aynı zamanda' foo.size() 'dan daha büyük olup olmadığını da kontrol etmeliyim, böylece' string :: npos 'olarak ayarlayabilirim Eğer gerekliyse. –
Seçenek 3: 'distance' yöntemini kullanan ve kodunuzda kullanan kendi işlevinizi (" first_space "veya benzeri bir şey) yazın. – molbdnilo