SORU
10 Aralık 2009, PERŞEMBE


Nasıl C <dize> belirli bir dize ile başlar, ve bir tamsayı bir dize dönüştürmek eğer kontrol edebilirim?

Nasıl aşağıdaki (Python yarı) C muyum ?

if argv[1].startswith('--foo='):
    foo_value = int(argv[1][len('--foo='):])

(Örneğin, eğer elde ettik[1] '--foo=98', sonra foo_value 98.)

Güncelleme:Sadece komut satırı aracı, bir basit küçük çok küçük bir değişiklik yapmadan bakıyorum beri Destek içine bak, tereddüt ediyorum. (Daha doğrusu link ve küçük bir değişiklik için Boost kullanmayı öğrenmek zorunda istemiyorum.)

CEVAP
10 Aralık 2009, PERŞEMBE


Bu şekilde yapın:

   std::string prefix("--foo=");
   if (!arg.compare(0, prefix.size(), prefix))
      foo_value = atoi(arg.substr(prefix.size()).c_str());

Artırmak gibi bir lib arıyor.Bunu sizin için yapacak ProgramOptions da iyi bir fikirdir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009