<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Hàm freopen&#40;&#41; trong C</title>
<meta name="description" content="Hàm freopen&#40;&#41; trong C - Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;ham-freopen-trong-c-11867.html">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Hàm freopen&#40;&#41; trong C">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;ham-freopen-trong-c-11867.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-freopen-trong-c-11867.html">
<link rel="shortcut icon" href="https://www.nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-freopen-trong-c-11867.html">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://www.nguoicodonvn2008.info/">https://www.nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Hàm freopen&#40;&#41; trong C</h1>
		<ul class="list-inline">
			<li>Thứ sáu - 12/12/2025 23:20</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Hàm freopen&#40;&#41; trong C" src="https://st.quantrimang.com/photos/image/2018/08/02/cu-phap-co-ban-cua-lap-trinh-c-200-size-80x80-znd.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;"><strong>Freopen C++ được sử dụng như thế nào? Nếu tò mò muốn biết về cách dùng freopen in C++, mời bạn đọc bài viết dưới đây.</strong></p>

<div style="text-align: justify;">&nbsp;</div>

<p style="text-align: justify;">C++ là một ngôn ngữ đa nền tảng có thể được sử dụng để tạo ra các ứng dụng hiệu năng cao. C++ được phát triển bởi Bjarne Stroustrup, như một phần mở rộng của ngôn ngữ C.</p>

<p style="text-align: justify;">C++ cung cấp cho lập trình viên mức độ kiểm soát cao đối với tài nguyên hệ thống và bộ nhớ. Ngôn ngữ này đã được cập nhật 5 lần quan trọng vào các năm 2011, 2014, 2017, 2020 và 2023 lên các phiên bản C++11, C++14, C++17, C++20 và C++23.</p>

<h3 style="text-align: justify;">Tại sao nên sử dụng C++?</h3>

<ul>
	<li style="text-align: justify;">C++ là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới.</li>
	<li style="text-align: justify;">C++ được sử dụng rộng rãi trong các hệ điều hành, giao diện người dùng đồ họa (GUI) và hệ thống nhúng hiện nay.</li>
	<li style="text-align: justify;">C++ là ngôn ngữ lập trình hướng đối tượng, cung cấp cấu trúc rõ ràng cho chương trình và cho phép tái sử dụng mã, giúp giảm chi phí phát triển.</li>
	<li style="text-align: justify;">C++ có tính di động cao và có thể được sử dụng để phát triển các ứng dụng tương thích với nhiều nền tảng.</li>
	<li style="text-align: justify;">C++ rất thú vị và dễ học!</li>
</ul>

<p style="text-align: justify;"><strong>Ở bài viết này, chúng ta sẽ cùng nhau tìm hiểu về Freopen trong C++.</strong></p>

<p style="text-align: justify;">Hàm&nbsp;<strong>FILE *freopen(const char *filename, const char *mode, FILE *stream)</strong>&nbsp;trong&nbsp;Thư viện C&nbsp;chuẩn gắn kết một filename mới với Stream đã cho và cùng lúc đó đóng FILE cũ trong Stream.</p>

<h2 style="text-align: justify;">Khai báo hàm freopen() trong C</h2>

<p style="text-align: justify;">Dưới đây là phần khai báo cho hàm freopen() trong C:</p>

<pre id="pre0" style="text-align: justify;">
FILE *freopen(const char *filename, const char *mode, FILE *stream)</pre>

<p style="text-align: justify;"><strong>Tham số</strong></p>

<p style="text-align: justify;"><strong>filename</strong>&nbsp;− Đây là chuỗi chứa tên file để được mở.</p>

<p style="text-align: justify;"><strong>mode</strong>&nbsp;− Đây là chuỗi chứa chế độ truy vập file. Bao gồm:</p>

<div style="text-align: justify;">&nbsp;</div>

<table border="2">
	<tbody>
		<tr>
			<th style="text-align: justify;">mode</th>
			<th style="text-align: justify;">Miêu tả</th>
		</tr>
		<tr>
			<td style="text-align: justify;">&quot;r&quot;</td>
			<td style="text-align: justify;">Mở một file để đọc. File phải tồn tại</td>
		</tr>
		<tr>
			<td style="text-align: justify;">&quot;w&quot;</td>
			<td style="text-align: justify;">Tạo một file trống để ghi. Nếu một file với cùng tên đã tồn tại, nội dung của nó bị tẩy đi và file được xem như một file trống mới</td>
		</tr>
		<tr>
			<td style="text-align: justify;">&quot;a&quot;</td>
			<td style="text-align: justify;">Phụ thêm (append) tới một file. Với các hoạt động ghi, phụ thêm dữ liệu tại cuối file. File được tạo nếu nó chưa tồn tại</td>
		</tr>
		<tr>
			<td style="text-align: justify;">&quot;r+&quot;</td>
			<td style="text-align: justify;">Mở một file để ghi và đọc. File phải tồn tại</td>
		</tr>
		<tr>
			<td style="text-align: justify;">&quot;w+&quot;</td>
			<td style="text-align: justify;">Tạo một file trống để ghi và đọc</td>
		</tr>
		<tr>
			<td style="text-align: justify;">&quot;a+&quot;</td>
			<td style="text-align: justify;">Mở một file để đọc và phụ thêm</td>
		</tr>
	</tbody>
</table>

<p style="text-align: justify;"><strong>stream</strong>&nbsp;− Đây là con trỏ tới một đối tượng FILE mà nhận diện Stream để được mở lại.</p>

<p style="text-align: justify;"><strong>Trả về giá trị</strong></p>

<p style="text-align: justify;">Nếu file được mở lại thành công, hàm trả về một con trỏ tới một đối tượng nhận diện Stream đó, nếu không thì con trỏ null được trả về.</p>

<p style="text-align: justify;"><strong>Ví dụ</strong></p>

<p style="text-align: justify;">Chương trình C sau minh họa cách sử dụng của hàm freopen() trong C:</p>

<pre id="pre1" style="text-align: justify;">
#include &lt;stdio.h&gt;

int main ()
{
   FILE *fp;

   printf(&quot;Dong text nay hien thi tren stdout\n&quot;);

   fp = freopen(&quot;baitapc.txt&quot;, &quot;w+&quot;, stdout);

   printf(&quot;Dong text nay duoc ghi vao baitapc.txt\n&quot;);

   fclose(fp);
   return(0);
}</pre>

<p style="text-align: justify;">Biên dịch và chạy chương trình trên sẽ gửi dòng sau tại STDOUT trước:</p>

<p style="text-align: justify;"><img alt="Biên dịch và chạy chương trình" data-i="0" data-src="https://st.quantrimang.com/photos/image/2018/08/27/ham-freopen-trong-c-1.jpg" data-was-processed="true" height="50" src="https://st.quantrimang.com/photos/image/2018/08/27/ham-freopen-trong-c-1.jpg" width="333" /></p>

<p style="text-align: justify;">Sau lời gọi tới hàm freopen(), nó gắn kết STDOUT tới baitapc.txt, vì thế bất cứ cái gì chúng ta ghi tại STDOUT sẽ đi vào trong baitapc.txt. Vì thế, baitapc.txt sẽ có nội dung sau:</p>

<p style="text-align: justify;"><img alt="Nội dung hiển thị sau khi chạy" data-i="1" data-src="https://st.quantrimang.com/photos/image/2018/08/27/ham-freopen-trong-c-2.jpg" data-was-processed="true" height="70" src="https://st.quantrimang.com/photos/image/2018/08/27/ham-freopen-trong-c-2.jpg" width="352" /></p>

<p style="text-align: justify;">Bây giờ bạn theo dõi nội dung của file trên bởi sử dụng chương trình C sau:</p>

<p style="text-align: justify;"><img alt="Bây giờ bạn theo dõi nội dung của file trên bởi sử dụng chương trình C " data-i="2" data-src="https://st.quantrimang.com/photos/image/2018/08/27/ham-freopen-trong-c-3.jpg" data-was-processed="true" height="45" src="https://st.quantrimang.com/photos/image/2018/08/27/ham-freopen-trong-c-3.jpg" width="333" /></p>

<p style="text-align: justify;">Tóm lại, freopen() là một hàm tích hợp được định nghĩa trong tiêu đề &lt;cstdio&gt;, có chức năng chuyển hướng con trỏ FILE hiện có sang một luồng khác. Hàm này được sử dụng trong việc đọc và ghi tệp.</p>

<p style="text-align: justify;">Hàm hoạt động theo cách sau:</p>

<ul>
	<li style="text-align: justify;">Hàm đóng tệp được liên kết với luồng, bỏ qua mọi lỗi.</li>
	<li style="text-align: justify;">Nếu filename không phải là NULL, nó sẽ mở một tệp có tên được chỉ định trong đối số filename ở chế độ được chỉ định trong đối số mode. Ngược lại, nếu filename là NULL, nó sẽ cố gắng mở một tệp đã được liên kết trước đó với luồng.</li>
	<li style="text-align: justify;">Tệp mới được liên kết với luồng tệp được chỉ định trong đối số stream.</li>
	<li style="text-align: justify;">Điều này khác với fopen(), chỉ mở một tệp ở chế độ truy cập được chỉ định; trong khi đó, freopen() được sử dụng để chuyển hướng đầu vào, đầu ra và lỗi tiêu chuẩn sang một tệp được chỉ định.</li>
</ul>

<p style="text-align: justify;">Trên đây là những điều cần biết về freopen() trong C. Hi vọng bài viết giúp bạn hiểu cách sử dụng hàm này.</p>

<div style="text-align: justify;">&nbsp;</div>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com:
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-freopen-trong-c-11867.html" title="Hàm freopen&#40;&#41; trong C">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-freopen-trong-c-11867.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://www.nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://www.nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://www.nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://www.nguoicodonvn2008.info",
            "logo": "https://www.nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>