Domyślnie Visual Studio 2008 daje taki nagłówek funkcji main:
int _tmain( int argc, _TCHAR* argv[] )
Niestety miałem problem z typem _TCHAR*, aby rzutować/skonwertować go na cokolwiek użytecznego jak std::string. Pogooglałem chwilę i zanim znalazłem naszła mnie prościutka myśl – zmienić nagłówek main’a!
int _tmain(int argc, char** argv)
Życie od razu stało się prostsze, bo konwersja char* na std::string jest prosta, łatwa i przyjemna – wystarczy podać char* jako argument do konstruktora string’a.
Proste rozwiązania sa świetne :)
To akurat prawda ;] Zastanawiam się, po co w ogóle w Visual Studio jest jakiś _TCHAR* i _tmain…
Wydaje mi się, że jest to związane z UNICODE, ale głowy bym nie dał. W każdym razie jest mi to całkowicie zbędne ponieważ argumenty należą do zbioru { ‘-’, ‘i’, ‘p’, ‘c’, int } :)
Więc zrobiłem jak opisałem i zamiast się głowić jak to przekonwertować to już prawie napisałem parser argumentów podanych z linii komend ;)
PS. A poza tym to MS w programach z cyklu VS lubił się wyróżniać własnymi standardami C++