{"id":8373,"date":"2024-03-14T08:00:46","date_gmt":"2024-03-14T08:00:46","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/"},"modified":"2025-08-03T04:00:25","modified_gmt":"2025-08-03T04:00:25","slug":"how-to-read-a-file-in-c-using-a-loop-with-fread","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/","title":{"rendered":"C++ fread Loop File Read Guide"},"content":{"rendered":"<p>You can use the fread function in C++ to loop through reading data from a file. Here is an example code snippet demonstrating how to use the fread function to loop through reading a file.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;cstdio&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    FILE *file = <span class=\"hljs-built_in\">fopen<\/span>(<span class=\"hljs-string\">\"example.txt\"<\/span>, <span class=\"hljs-string\">\"rb\"<\/span>); <span class=\"hljs-comment\">\/\/ \u4ee5\u4e8c\u8fdb\u5236\u53ea\u8bfb\u6a21\u5f0f\u6253\u5f00\u6587\u4ef6<\/span>\r\n    <span class=\"hljs-keyword\">if<\/span> (file == <span class=\"hljs-literal\">NULL<\/span>) {\r\n        std::cerr &lt;&lt; <span class=\"hljs-string\">\"Error opening file\"<\/span> &lt;&lt; std::endl;\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">1<\/span>;\r\n    }\r\n\r\n    <span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">int<\/span> bufferSize = <span class=\"hljs-number\">1024<\/span>;\r\n    <span class=\"hljs-type\">char<\/span> buffer[bufferSize];\r\n    <span class=\"hljs-type\">size_t<\/span> bytesRead = <span class=\"hljs-number\">0<\/span>;\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u5faa\u73af\u8bfb\u53d6\u6587\u4ef6\u76f4\u5230\u8bfb\u53d6\u5230\u6587\u4ef6\u672b\u5c3e<\/span>\r\n    <span class=\"hljs-keyword\">while<\/span> ((bytesRead = <span class=\"hljs-built_in\">fread<\/span>(buffer, <span class=\"hljs-number\">1<\/span>, bufferSize, file)) &gt; <span class=\"hljs-number\">0<\/span>) {\r\n        <span class=\"hljs-comment\">\/\/ \u5904\u7406\u8bfb\u53d6\u5230\u7684\u6570\u636e\uff0c\u8fd9\u91cc\u7b80\u5355\u6253\u5370\u5230\u63a7\u5236\u53f0<\/span>\r\n        <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">size_t<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; bytesRead; i++) {\r\n            std::cout &lt;&lt; buffer[i];\r\n        }\r\n    }\r\n\r\n    <span class=\"hljs-built_in\">fclose<\/span>(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>In this example, we start by opening a file named example.txt using the fopen function. Then, we use the fread function to read the data in the file within a loop, reading data of size bufferSize each time and outputting it to the console. The loop ends when the fread function returns 0, indicating that the end of the file has been reached.<\/p>\n<p>Finally, close the file stream using the fclose function.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You can use the fread function in C++ to loop through reading data from a file. Here is an example code snippet demonstrating how to use the fread function to loop through reading a file. #include &lt;iostream&gt; #include &lt;cstdio&gt; int main() { FILE *file = fopen(&#8220;example.txt&#8221;, &#8220;rb&#8221;); \/\/ \u4ee5\u4e8c\u8fdb\u5236\u53ea\u8bfb\u6a21\u5f0f\u6253\u5f00\u6587\u4ef6 if (file == NULL) { std::cerr [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[11250,11248,11249,890,1148],"class_list":["post-8373","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-binary-file","tag-c-fread","tag-c-loop","tag-file-handling","tag-file-reading"],"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>C++ fread Loop File Read Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn efficient C++ file reading with loops and fread(). Includes code examples and step-by-step tutorial.\" \/>\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\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ fread Loop File Read Guide\" \/>\n<meta property=\"og:description\" content=\"Learn efficient C++ file reading with loops and fread(). Includes code examples and step-by-step tutorial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\" \/>\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-14T08:00:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-03T04:00:25+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\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=\"Ava Mitchell\" \/>\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\/how-to-read-a-file-in-c-using-a-loop-with-fread\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"C++ fread Loop File Read Guide\",\"datePublished\":\"2024-03-14T08:00:46+00:00\",\"dateModified\":\"2025-08-03T04:00:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\"},\"wordCount\":113,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"binary file\",\"C++ fread\",\"C++ loop\",\"file handling\",\"File reading\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\",\"name\":\"C++ fread Loop File Read Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T08:00:46+00:00\",\"dateModified\":\"2025-08-03T04:00:25+00:00\",\"description\":\"Learn efficient C++ file reading with loops and fread(). Includes code examples and step-by-step tutorial.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ fread Loop File Read Guide\"}]},{\"@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\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C++ fread Loop File Read Guide - Blog - Silicon Cloud","description":"Learn efficient C++ file reading with loops and fread(). Includes code examples and step-by-step tutorial.","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\/how-to-read-a-file-in-c-using-a-loop-with-fread\/","og_locale":"en_US","og_type":"article","og_title":"C++ fread Loop File Read Guide","og_description":"Learn efficient C++ file reading with loops and fread(). Includes code examples and step-by-step tutorial.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T08:00:46+00:00","article_modified_time":"2025-08-03T04:00:25+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"C++ fread Loop File Read Guide","datePublished":"2024-03-14T08:00:46+00:00","dateModified":"2025-08-03T04:00:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/"},"wordCount":113,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["binary file","C++ fread","C++ loop","file handling","File reading"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/","name":"C++ fread Loop File Read Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T08:00:46+00:00","dateModified":"2025-08-03T04:00:25+00:00","description":"Learn efficient C++ file reading with loops and fread(). Includes code examples and step-by-step tutorial.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-read-a-file-in-c-using-a-loop-with-fread\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C++ fread Loop File Read Guide"}]},{"@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\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8373","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\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=8373"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8373\/revisions"}],"predecessor-version":[{"id":153177,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8373\/revisions\/153177"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=8373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=8373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=8373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}