{"id":26864,"date":"2024-03-16T07:29:19","date_gmt":"2024-03-16T07:29:19","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/"},"modified":"2024-03-22T09:37:42","modified_gmt":"2024-03-22T09:37:42","slug":"the-usage-of-the-c-language-fgets-function","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/","title":{"rendered":"The usage of the C language fgets function"},"content":{"rendered":"<p>The fgets function in C is used to read strings from a file. Its prototype is as follows:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">char<\/span> *<span class=\"hljs-title function_\">fgets<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">char<\/span> *str, <span class=\"hljs-type\">int<\/span> n, FILE *stream)<\/span>;\r\n<\/code><\/pre>\n<p>In this case, str is an array used to store the read string, n is the maximum number of characters to read (including the null character &#8216;\\0&#8217;), and stream is a pointer to the file.<\/p>\n<p>The fgets function reads a string from a specified file and stores it in str until it encounters a newline character (including the newline character). The string read will automatically have a null character &#8216;\\0&#8217; added at the end to signify the end of the string.<\/p>\n<p>The return value of the fgets function is a pointer pointing to str, which returns str when reading is successful and NULL when reading fails.<\/p>\n<p>The fgets function is commonly used to read strings line by line from a file, and can be used in conjunction with a loop, as shown below:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    FILE *file = fopen(<span class=\"hljs-string\">\"example.txt\"<\/span>, <span class=\"hljs-string\">\"r\"<\/span>);\r\n    <span class=\"hljs-keyword\">if<\/span> (file == <span class=\"hljs-literal\">NULL<\/span>) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u6587\u4ef6\u6253\u5f00\u5931\u8d25\\n\"<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">1<\/span>;\r\n    }\r\n    \r\n    <span class=\"hljs-type\">char<\/span> str[<span class=\"hljs-number\">100<\/span>];\r\n    <span class=\"hljs-keyword\">while<\/span> (fgets(str, <span class=\"hljs-keyword\">sizeof<\/span>(str), file) != <span class=\"hljs-literal\">NULL<\/span>) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"%s\"<\/span>, str);\r\n    }\r\n    \r\n    fclose(file);\r\n    \r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>The above code opens a file named example.txt, reads strings line by line, and then prints them to the terminal. The loop stops when the fgets function returns NULL at the end of the file.<\/p>\n<p>It should be noted that the fgets function reads newline characters and stores them in str. If newline characters are not needed, you can use the strtok function or manually handle the string to remove them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The fgets function in C is used to read strings from a file. Its prototype is as follows: char *fgets(char *str, int n, FILE *stream); In this case, str is an array used to store the read string, n is the maximum number of characters to read (including the null character &#8216;\\0&#8217;), and stream is [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-26864","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The usage of the C language fgets function - Blog - Silicon Cloud<\/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:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The usage of the C language fgets function\" \/>\n<meta property=\"og:description\" content=\"The fgets function in C is used to read strings from a file. Its prototype is as follows: char *fgets(char *str, int n, FILE *stream); In this case, str is an array used to store the read string, n is the maximum number of characters to read (including the null character &#8216;&#8217;), and stream is [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T07:29:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T09:37:42+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\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:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"The usage of the C language fgets function\",\"datePublished\":\"2024-03-16T07:29:19+00:00\",\"dateModified\":\"2024-03-22T09:37:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\"},\"wordCount\":229,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\",\"name\":\"The usage of the C language fgets function - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:29:19+00:00\",\"dateModified\":\"2024-03-22T09:37:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The usage of the C language fgets function\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The usage of the C language fgets function - Blog - Silicon Cloud","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:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/","og_locale":"en_US","og_type":"article","og_title":"The usage of the C language fgets function","og_description":"The fgets function in C is used to read strings from a file. Its prototype is as follows: char *fgets(char *str, int n, FILE *stream); In this case, str is an array used to store the read string, n is the maximum number of characters to read (including the null character &#8216;&#8217;), and stream is [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:29:19+00:00","article_modified_time":"2024-03-22T09:37:42+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"The usage of the C language fgets function","datePublished":"2024-03-16T07:29:19+00:00","dateModified":"2024-03-22T09:37:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/"},"wordCount":229,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/","url":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/","name":"The usage of the C language fgets function - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:29:19+00:00","dateModified":"2024-03-22T09:37:42+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/the-usage-of-the-c-language-fgets-function\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The usage of the C language fgets function"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=26864"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26864\/revisions"}],"predecessor-version":[{"id":61057,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26864\/revisions\/61057"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=26864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=26864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=26864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}