Mam program, który może przyjmować argumenty wiersza polecenia i chcę uzyskać dostęp do argumentów, wprowadzonych przez użytkownika, z funkcji. Jak mogę przekazać *argv[]
, oddo tej funkcji? Jestem trochę nowy w koncepcji wskaźników i *argv[]
wygląda na zbyt skomplikowany, aby móc to samemu opracować.Jak przekazać główną funkcję * argv [] do funkcji?
Chodzi o to, aby pozostawić mój main
tak czysty, jak to możliwe, przenosząc całą pracę, którą chcę zrobić z argumentami, do pliku biblioteki. Już wiem, co mam zrobić z tymi argumentami, kiedy uda mi się je zdobyć poza numerem main
. Po prostu nie wiem, jak je tam zabrać.
Używam GCC. Z góry dzięki.
Co gdy argv jest zdefiniowany jako const char * argv []? Tak właśnie jest OS X i nie mogę dokładnie zmienić ABI Apple ... – MarcusJ
@MarcusJ Tak - ARC utrudnia to w XCode na OSX. Musiałem przekazać je do mojej metody klasy ObjC++, takiej jak 'getParams (argc, argv)', ale potem musiałem zadeklarować tę funkcję jak 'static std :: map getParams (int argc, const char ** argv) 'Zwróć uwagę na' ** argv'. Następnie, wewnątrz metody klasy, mógłbym użyć 'argv' jako normalnego, tak jakby był w funkcji' main'. (Rzeczy '' 'w wynikach zwracanych były spowodowane tym, że moja funkcja przekształciła zmienne w pary map = klucz wartości, ale nie możesz tego również zrobić.) –
Volomike