Domanda

Voglio saperne di più su C ++ ... Di solito realizzo un ciclo for per analizzare argv, e finisco con un mucchio di stringhe in stile C. Voglio fare qualcosa di simile in C ++, ma preferibilmente senza leggere da / proc / qualunque cosa. All'inizio, ho provato a convertire la stringa in stile C in una stringa in stile C ++ senza risultati ... Il punto frustrante è che tutti su SO sembrano voler sapere come andare dall'altra parte, che è ciò che c_str () è per . Qual è un buon modo C ++ per farlo (ad esempio parse argv)?

Inoltre, una nota, sto cercando una risposta in stile unix, tutte le tecniche di conversione che ho visto hanno a che fare con Windows, in cui sono completamente testato.

È stato utile?

Soluzione

Non sono sicuro di aver compreso appieno la domanda.

Il metodo più pulito che conosco per ottenere tutti gli argomenti in un array facile da usare è:

std::vector<std::string> v(argv, argv + argc);

Ma se stai cercando un modo per analizzare davvero i dati, dai un'occhiata a Boost.ProgramOptions .

Altri suggerimenti

Hai problemi con la conversione di argv in stringhe? Puoi semplicemente fare:

string s(argv[i]);

... dove i è un indice valido in argv .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top