Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Командная строка аргументов

Rusa


Системные средства, на кото 15515s184p рые опирается реализация языка «С», позволяют передавать командную строку аргументов или параметров начинающей выполняться программе. Когда функция main argc число аргументов в командной строке, с кото 15515s184p рыми происходит обращение к программе; второй аргумент (argv



echo, кото 15515s184p рая просто печатает в одну строку аргументы командной строки, разделяя их пробелами. Таким образом, если дана команда:

echo Hello, World

Hello, World

argv[0] является именем, по кото 15515s184p рому вызывается программа, так что argc argc argv[0] argv[1] argv[2] "echo" "Hello," и "World". Первым фактическим агументом является argv[1] argv[argc-1] argc echo

echo

main int argc char argv

argv

echo

main(int argc, char *argv[])

argv argv argv argv argv argc



echo

main(int argc, char *argv[])

printf

. Давайте внесем некото 15515s184p рые усовершенствования в программу отыскания заданной комбинации символов из главы 5. Если вы помните, мы поместили искомую комбинацию глубоко внутрь программы, что очевидно является совершенно неудовлетворительным. Следуя утилите grep Unix

#define maxline 1000

main(int argc, char *argv[])

Теперь может быть развита основная модель, иллюстрирующая дальнейшее использование указателей. Предположим, что нам надо предусмотреть два необязательных аргумента. Один утверждает: «Напечатать все строки за исключением тех, кото 15515s184p рые содержат данную комбинацию», а второй гласит: «Перед каждой выводимой строкой должен печататься ее номер».

-x -n



find x n the

Now is the time

For all good men

To come to the aid

Of their party.

2: For all good men

index argv[2] argv[1]

find nx

#define maxline 1000

main(int argc, char *argv[])

if (argc != 1)

printf("usage: find -x -n pattern\n");

else

while (getlin (line, maxline) > 0)

}

}

argv argc argc *argv *++argv является указателем аргументной строки: (*++argv)[0] - её первый символ. Круглые скобки здесь необходимы, пото 15515s184p му что без них выражение бы приняло совершенно отличный и неправильный вид: *++(ARGV[0]) **++argv



add

add 2 3 4 + *

entab detab

entab detab

entab -m +n

n m

tail n n

tail -n

n n sort




Document Info


Accesari: 1325
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )