{"id":18708,"date":"2022-11-01T17:38:07","date_gmt":"2022-11-01T12:08:07","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/"},"modified":"2022-11-01T17:38:07","modified_gmt":"2022-11-01T12:08:07","slug":"solved-low-level-file-input-output-calculate-sum-and-average-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/","title":{"rendered":"[Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-34185570\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"34185570\" data-parentid=\"34184826\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Functions <code>read()<\/code> and <code>write()<\/code> and their cousins are used for binary files. Reading a text file would be better using <code>fgets()<\/code> and analysing the contents of each line, then outputting that line with the extra fields you calculate. Bear in mind that <code>fgets()<\/code> retains any <code>newline<\/code>, which has to be removed before appending text to that line.<\/p>\n<pre><code>#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\n#include &lt;string.h&gt;\n\n#define LLEN 100\n\nint main(void)\n{\n    FILE *inf, *outf;\n    int val1, val2, val3, sum;\n    char buff[LLEN];\n\n    if((inf = fopen(\"input.txt\", \"rt\")) == NULL) {\n        perror(\"Can't open file input.txt\");\n        exit(1);\n    }\n    if((outf = fopen(\"output.txt\", \"wt\")) == NULL) {\n        perror(\"Can\\t open file output.txt\");\n        exit(1);\n    }\n\n    if(fgets(buff, LLEN, inf) == NULL) {            \/\/ read the header\n        perror(\"Cannot read header line\");\n        exit(1);\n    }\n    buff [ strcspn(buff, \"\\r\\n\") ] = '\\0';          \/\/ truncate any newline\n    fprintf(outf, \"%s sum     average\\n\", buff);    \/\/ write expanded header line\n\n    while(fgets(buff, LLEN, inf) != NULL) {         \/\/ read each line\n        buff [ strcspn(buff, \"\\r\\n\") ] = '\\0';      \/\/ truncate any newline\n        if(sscanf(buff, \"%*s%d%d%d\", &amp;val1, &amp;val2, &amp;val3) != 3) {   \/\/ ignore ID\n            perror(\"Cannot convert fields\");\n            exit(1);\n        }\n        sum = val1 + val2 + val3;\n        fprintf(outf, \"%s%9d%7d \\n\", buff, sum, sum\/3);\n    }\n\n    if (fclose(outf))\n        perror(\"Unable to close output file\");\n    fclose(inf); \n    return 0;\n}\n<\/code><\/pre>\n<p>Output file:<\/p>\n<pre><code>ID              UNIX    C Language      Network sum     average\n20150001        98      95              97      290     96 \n20150002        84      88              90      262     87 \n<\/code><\/pre>\n<p>Incidentally your average was incorrect on the last line!<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">4<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Functions read() and write() and their cousins are used for binary files. Reading a text file would be better using fgets() and analysing the contents of each line, then outputting that line with the extra fields you calculate. Bear in mind that fgets() retains any newline, which has to be removed before appending text &#8230; <a title=\"[Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\" aria-label=\"More on [Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324],"class_list":["post-18708","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] low level file input output calculate &quot;sum&quot; and &quot;average&quot; [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] low level file input output calculate &quot;sum&quot; and &quot;average&quot; [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Functions read() and write() and their cousins are used for binary files. Reading a text file would be better using fgets() and analysing the contents of each line, then outputting that line with the extra fields you calculate. Bear in mind that fgets() retains any newline, which has to be removed before appending text ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-01T12:08:07+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]\",\"datePublished\":\"2022-11-01T12:08:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\"},\"wordCount\":87,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\",\"name\":\"[Solved] low level file input output calculate \\\"sum\\\" and \\\"average\\\" [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-01T12:08:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] low level file input output calculate \"sum\" and \"average\" [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] low level file input output calculate \"sum\" and \"average\" [closed] - JassWeb","og_description":"[ad_1] Functions read() and write() and their cousins are used for binary files. Reading a text file would be better using fgets() and analysing the contents of each line, then outputting that line with the extra fields you calculate. Bear in mind that fgets() retains any newline, which has to be removed before appending text ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/","og_site_name":"JassWeb","article_published_time":"2022-11-01T12:08:07+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]","datePublished":"2022-11-01T12:08:07+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/"},"wordCount":87,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/","name":"[Solved] low level file input output calculate \"sum\" and \"average\" [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-01T12:08:07+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-low-level-file-input-output-calculate-sum-and-average-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] low level file input output calculate &#8220;sum&#8221; and &#8220;average&#8221; [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=18708"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18708\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=18708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=18708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=18708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}