Yulya Fridman ([info]aculeata) wrote,
@ 2004-02-24 12:52:00
Current mood: frustrated

Дорогие покемоны,

если на е*&*&баном Си вы
принуждены передать функции main два
аргумента, как вы сделаете это при
вызове программы в командной строке?



(Post a new comment)


[info]sgt
2004-02-24 04:14 (link)
ну как же
функция main имеет следующую сигнатуру

int main(int argc, char *argv[]);

argc - это количество аргументов
argv - это массив с самими аргументами

аргумент номер 0 - это название запускаемой программы
а все остальное - аргументы после нее

(Reply to this) (Thread)


[info]aculeata
2004-02-24 04:19 (link)
Отлично!
Допустим, блядь называется a.out
Я ей пишу что ли через запятую a. out 1, e, например?
В командной строке, когда хочу запустить?
Эту блядь.

(Reply to this) (Parent) (Thread)


[info]sgt
2004-02-24 04:20 (link)
не, через пробел

типа ./a.out lala fafa

я там ниже код написал, как это делается

(Reply to this) (Parent) (Thread)


[info]aculeata
2004-02-24 04:22 (link)
Ура-ура, это и надо.
Вот она, блядь.

(Reply to this) (Parent) (Thread)


[info]zadoff
2004-02-24 06:41 (link)
даа. математиков видна издалека..

(Reply to this) (Parent)


[info]lanka
2004-02-24 04:21 (link)
без запятой только
a.out par1 par2

(Reply to this) (Parent) (Thread)


[info]aculeata
2004-02-24 04:23 (link)
Ой, спасибо!

(Reply to this) (Parent)


[info]sgt
2004-02-24 04:19 (link)
[Error: Irreparable invalid markup ('<stdio.h>') in entry. Owner must fix manually. Raw contents below.]

вот так примерно
<pre>
#include <stdio.h>

int main(int argc, char *argv[]) {
int i;
printf("%d\n", argc);
for (i=0 ; i&lt;argc ; i++) {
printf("argv[%d]: %s\n", i, argv[i]);
}
return 0;
}
</pre>

(Reply to this) (Parent) (Thread)


[info]sgt
2004-02-24 04:21 (link)
жж съел первую строчку
она такая:
#include <stdio.h>

(Reply to this) (Parent)


(Anonymous)
2004-02-24 05:56 (link)
Gde anya_anya?
Skychaem...
Sorry for anonym.
anya.

(Reply to this)



[ Home | Update Journal | Login/Logout | Browse Options | Site Map ]