{"id":474,"date":"2014-11-10T17:56:44","date_gmt":"2014-11-10T15:56:44","guid":{"rendered":"http:\/\/www.blue.pri.ee\/ttu\/?page_id=474"},"modified":"2024-09-05T19:13:30","modified_gmt":"2024-09-05T17:13:30","slug":"parse-c","status":"publish","type":"page","link":"https:\/\/blue.pri.ee\/ttu\/programmeerimine-i\/koodinaited\/parse-c\/","title":{"rendered":"K\u00e4surea argumentide ligip\u00e4\u00e4s"},"content":{"rendered":"<pre class=\"lang:c decode:true \">\/**\r\n * File:        args.c\r\n * Author:      Risto Heinsar\r\n * Created:     10.11.2014\r\n * Modified:    12.08.2024\r\n *\r\n * Description: Program demonstrates accessing command line arguments\r\n *              when passed during the execution of the program.\r\n * \r\n * Usage:       .\/program_name arg1 arg2 arg3 ...\r\n *\/\r\n\r\n#include &lt;stdio.h&gt;\r\n#include &lt;string.h&gt;\r\n\r\nint main(int argc, char *argv[])\r\n{\r\n    printf(\"Got %d command line arguments\\n\", argc);\r\n    \r\n    \/\/ Loops over all arguments as strings\r\n    for (int i = 0; i &lt; argc; i++)\r\n    {\r\n        printf(\"argv[%d] = %s\\n\", i, argv[i]);\r\n    }\r\n    printf(\"\\n\");\r\n    \r\n    \/\/ Loop over the arguments once more\r\n    for (int i = 0; i &lt; argc; i++)\r\n    {\r\n        \/\/ Grab the length of the current argument\r\n        int n = strlen(argv[i]);\r\n        \r\n        \/\/ Print the current argument, character by character\r\n        for (int j = 0; j &lt; n; j++)\r\n        {\r\n            printf(\"%c \", argv[i][j]);\r\n        }\r\n        printf(\"\\n\");\r\n    }\r\n    \r\n    return 0;\r\n}\r\n<\/pre>\n<p><strong>Programmi jooksutamise tulemus:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7008\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/Screenshot_20220815_172826.png\" alt=\"\" width=\"608\" height=\"200\" srcset=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/Screenshot_20220815_172826.png 608w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/Screenshot_20220815_172826-300x99.png 300w\" sizes=\"auto, (max-width: 608px) 100vw, 608px\" \/><\/p>\n<p><strong>Mida j\u00e4lgida:<\/strong><\/p>\n<ul>\n<li>Main funktsiooni\u00a0 <span class=\"lang:default highlight:0 decode:true crayon-inline\">int main(int argc, char *argv[])<\/span>\u00a0 kuju tohib\u00a0kasutada\u00a0<strong>ainult siis<\/strong>, kui planeerid argumente vastu v\u00f5tta<\/li>\n<li>Argumendi vektori kujud\u00a0 <span class=\"lang:default highlight:0 decode:true crayon-inline\">*argv[]<\/span>\u00a0 ja <span class=\"lang:default highlight:0 decode:true crayon-inline\">**argv<\/span>\u00a0 on samav\u00e4\u00e4rsed. Kumba vormi kasutada otsustab enamasti arendaja.<\/li>\n<li><span class=\"lang:default highlight:0 decode:true crayon-inline\">argc<\/span>\u00a0 \u00fctleb mitu argumenti programmi k\u00e4ivitades programmile anti. See on ka \u00fchtlasi argv esimese dimensiooni pikkus.<\/li>\n<li><span class=\"lang:default highlight:0 decode:true crayon-inline \">argc<\/span>\u00a0 v\u00e4\u00e4rtus on 1, kui programmi k\u00e4ivitamisel \u00fchtegi argumenti ei antud. Muutuja v\u00e4\u00e4rtus saab \u00fchest suuremaks kui programmi k\u00e4ivitamisel antakse sellele kaasa argumendid.<\/li>\n<li><span class=\"lang:default highlight:0 decode:true crayon-inline\">argv<\/span>\u00a0 on argumentide vektor, mis sisaldab k\u00f5iki k\u00e4surealt kaasa antud argumente. Tegu on viitade massiiviga s\u00f5nedele.<\/li>\n<li><span class=\"lang:default highlight:0 decode:true crayon-inline \">argv[0]<\/span>\u00a0 sisaldab k\u00e4ivitatud programmi nime (ja kuidas see k\u00e4ivitati).<\/li>\n<li><span class=\"lang:default highlight:0 decode:true crayon-inline\">argv[i]<\/span>\u00a0 sisaldab i-ndat argumenti s\u00f5nena. N\u00e4iteks\u00a0 <span class=\"lang:default highlight:0 decode:true crayon-inline \">argv[1]<\/span>\u00a0 sisaldab esimest argumenti.<\/li>\n<li>K\u00f5ik argumendid edastatakse s\u00f5nedena! Isegi need, mis sisaldavad vaid numbreid.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\/** * File: args.c * Author: Risto Heinsar * Created: 10.11.2014 * Modified: 12.08.2024 * * Description: Program demonstrates accessing command line arguments * when passed during the execution of the program. * * Usage: .\/program_name arg1 arg2 arg3 &#8230; *\/ #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main(int argc, char *argv[]) { printf(&#8220;Got %d command line &hellip; <a href=\"https:\/\/blue.pri.ee\/ttu\/programmeerimine-i\/koodinaited\/parse-c\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">K\u00e4surea argumentide ligip\u00e4\u00e4s<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":32,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"page-templates\/code-width.php","meta":{"footnotes":""},"class_list":["post-474","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/comments?post=474"}],"version-history":[{"count":3,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/474\/revisions"}],"predecessor-version":[{"id":9523,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/474\/revisions\/9523"}],"up":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/32"}],"wp:attachment":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/media?parent=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}