LINUX.ORG.RU

int main(int argc, char *argv)


0

0

VOSEM MOZETE OBJASNIT MNE ZA4EM NUZEN: parametr ARGC i ARGV. 4TO ZNA4IT massiv simvolnih ukozatekej (toko nedavno na4al izu4at Cи, v knige vse sliskom zaumnim jazikom tak, 4to mnogoe ne ponjatno). vot predlozenie perevedite plz... Parametr ARGC imeet tselij tip,i ego zna4enie vsegda budet ne mense 1, poskolku pervim argumentom vsegda javlajetsja imja programmi.Parametr ARGV dolzen bit objavlen kak massivsimvolnih ukazatelej, v kotorom kazdij element ukazivaet na argument v komandnoi stroke.


Я сам тоже недавно Си учить начал... Очень советую прочитать книжку Кернигана и Ритчи. Я скачивал тут: http://linux.amillo.net/files/kernigan.zip Там, вроде, все ясно и понятно описано... Хотя я тоже не все понимаю, но тогда нужно хотя бы проглядеть, а если потом понадобиться, то вернешься и перечитаешь. По-поводу, массива указателей то я сразу все понял...

argc - это количество переданных в командной строке параметров.
argv - это массив, в котором содержаться сами эти параметры.

argc всегда больше 1, т.к. самый первый элемент это имя программы.

proga -n 6

printf("%s\n", argv[0]); /* напечатает 'proga' */
printf("%s\n", argv[1]); /* напечатает '-n'*/
printf("%d\n", atoi[2]); /* напечатает число 6 */

Ф-ция atoi (Trgument TO Integer) переводит число содержащиеся в строке в тип int. atoi определена в stdlib.h

Ну, да впрочем я что-то отвлекся :)))

В примере: argc будет равно 3... Вопросы?!

php-coder ★★★★★
()
Ответ на: комментарий от php-coder

> printf("%d\n", atoi[2]); /* напечатает число 6 */

Ошибся: printf("%d\n", atoi(argv[2]));

php-coder ★★★★★
()
Ответ на: комментарий от php-coder

> argc всегда больше 1, т.к. самый первый элемент это имя программы.

>= 1

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.