{"id":6993,"date":"2022-08-15T12:53:18","date_gmt":"2022-08-15T10:53:18","guid":{"rendered":"https:\/\/blue.pri.ee\/ttu\/?page_id=6993"},"modified":"2026-06-19T15:34:54","modified_gmt":"2026-06-19T13:34:54","slug":"faili-nimi-kasureaargumendina","status":"publish","type":"page","link":"https:\/\/blue.pri.ee\/ttu\/programmeerimine-i\/koodinaited\/faili-nimi-kasureaargumendina\/","title":{"rendered":"Faili nimi k\u00e4sureaargumendina"},"content":{"rendered":"<p>J\u00e4rgnev programm tuleb k\u00e4ivitada koos k\u00e4sureaargumendiga, milleks on tekstifaili nimi. Fail peab koosnema t\u00e4isarvudest, mis on eraldatud t\u00fchiku v\u00f5i reavahetusega.\u00a0 Sisendfaili lugemine katkestatakse mittenumbrilise v\u00e4\u00e4rtuse leidmisel v\u00f5i faili l\u00f5ppu j\u00f5udes.<\/p>\n<p>Rakendus kasutab lihtsaid veakontrolle &#8211; k\u00e4surea argumentide arvu kontrollimine, faili avamise kontroll, failist loetava sisendi kontroll. K\u00fcll aga ei ole n\u00e4iterakendus v\u00f5imeline aru saama, kas fail loeti edukalt l\u00f5puni v\u00f5i tekkis lugemisel viga (nt loeti failist m\u00f5ni t\u00e4hem\u00e4rk).<\/p>\n<pre class=\"toolbar:1 lang:default decode:true \" title=\"file_args.c\">\/**\r\n * File:        file_args.c\r\n * Author:      Risto Heinsar\r\n * Created:     15.08.2022\r\n * Modified:    19.06.2026\r\n *\r\n * Description: Example on accepting the name of the input file\r\n *              as the command line argument. Argument must be provided\r\n *              when using the program.\r\n *              Input file should contain integers only.\r\n *\r\n * Usage:       .\/program_name input_file_name\r\n *\/\r\n#include &lt;stdio.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n\r\n#define ARGS_COUNT             2\r\n\r\n#define ARGS_POS_EXEC_NAME     0\r\n#define ARGS_POS_FILE_NAME     1\r\n\r\nvoid DisplayNumsInFile(const char *fName);\r\n\r\nint main(int argc, char *argv[])\r\n{\r\n    \/\/ Check that argument was provided\r\n    if (argc != ARGS_COUNT)\r\n    {\r\n        printf(\"Usage %s &lt;filename&gt;\\n\", argv[ARGS_POS_EXEC_NAME]);\r\n        return EXIT_FAILURE;\r\n    }\r\n\r\n    DisplayNumsInFile(argv[ARGS_POS_FILE_NAME]);\r\n\r\n    return EXIT_SUCCESS;\r\n}\r\n\r\nvoid DisplayNumsInFile(const char *fName)\r\n{\r\n    \/\/ Open the file pointed by the first argument\r\n    FILE *fListOfNums = fopen(fName, \"r\");\r\n    if (fListOfNums == NULL)\r\n    {\r\n        printf(\"Error opening file \\\"%s\\\".\\n\", fName);\r\n        exit(EXIT_FAILURE);\r\n    }\r\n\r\n    int number;\r\n    int count = 1;\r\n\r\n    \/\/ Loop through the file\r\n    while (fscanf(fListOfNums, \"%d\", &amp;number) == 1)\r\n    {\r\n        printf(\"%d. %d\\n\", count, number);\r\n        count++;\r\n    }\r\n    printf(\"End of file or unexpected format reached!\\n\");\r\n\r\n    \/\/ Clean up\r\n    fclose(fListOfNums);\r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u00e4rgnev programm tuleb k\u00e4ivitada koos k\u00e4sureaargumendiga, milleks on tekstifaili nimi. Fail peab koosnema t\u00e4isarvudest, mis on eraldatud t\u00fchiku v\u00f5i reavahetusega.\u00a0 Sisendfaili lugemine katkestatakse mittenumbrilise v\u00e4\u00e4rtuse leidmisel v\u00f5i faili l\u00f5ppu j\u00f5udes. Rakendus kasutab lihtsaid veakontrolle &#8211; k\u00e4surea argumentide arvu kontrollimine, faili avamise kontroll, failist loetava sisendi kontroll. K\u00fcll aga ei ole n\u00e4iterakendus v\u00f5imeline aru saama, kas &hellip; <a href=\"https:\/\/blue.pri.ee\/ttu\/programmeerimine-i\/koodinaited\/faili-nimi-kasureaargumendina\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">Faili nimi k\u00e4sureaargumendina<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":32,"menu_order":11,"comment_status":"closed","ping_status":"closed","template":"page-templates\/code-width-wide.php","meta":{"footnotes":""},"class_list":["post-6993","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/6993","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=6993"}],"version-history":[{"count":3,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/6993\/revisions"}],"predecessor-version":[{"id":10396,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/6993\/revisions\/10396"}],"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=6993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}