|
28 | 28 | <meta property="og:url" content="https://cpprefjp.github.io/reference/fstream/basic_fstream.html" />
|
29 | 29 | <meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
|
30 | 30 | <meta property="og:type" content="article" />
|
31 |
| - <meta property="og:description" content="" /> |
| 31 | + <meta property="og:description" content="ファイルに対する入出力を提供する高水準な機構" /> |
32 | 32 | <meta name="twitter:card" content="summary" />
|
33 | 33 | <meta name="twitter:title" content="basic_fstream - cpprefjp C++日本語リファレンス" />
|
34 | 34 | <meta name="twitter:url" content="https://cpprefjp.github.io/reference/fstream/basic_fstream.html" />
|
35 |
| - <meta name="twitter:description" content="" /> |
| 35 | + <meta name="twitter:description" content="ファイルに対する入出力を提供する高水準な機構" /> |
36 | 36 |
|
37 | 37 |
|
38 | 38 | <link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
|
|
68 | 68 |
|
69 | 69 | </head>
|
70 | 70 | <body>
|
71 |
| -<header data-kunai-mdinfo="{"meta": {"header": ["fstream"], "namespace": ["std"], "id-type": ["class template"]}, "sources": [], "page_id": ["reference", "fstream", "basic_fstream"]}"> |
| 71 | +<header data-kunai-mdinfo="{"meta": {"header": ["fstream"], "namespace": ["std"], "id-type": ["class template"]}, "sources": [{"id": "389af5ea14dc5cce74d6f2ce720224ebda24922e", "source": "#include <fstream>\n#include <ios>\n#include <iostream>\n#include <string>\n\nint main() {\n std::fstream fs;\n fs.exceptions(std::ios::failbit | std::ios::badbit); // \u4f8b\u5916\u3092\u6709\u52b9\u5316\u3059\u308b\n try {\n fs.open(\"./temp.txt\", std::ios_base::out | std::ios_base::in | std::ios_base::trunc);\n if (!fs.is_open()) {\n throw std::runtime_error(\"Failed to open file\"); // \u30d5\u30a1\u30a4\u30eb\u304c\u958b\u3051\u306a\u304b\u3063\u305f\u5834\u5408\n }\n int a = 1;\n long double b = 3.141592;\n std::string c = \"hello\";\n fs << a << \" \" << b << \" \" << c << std::endl;\n fs.seekg(0);\n int d;\n long double e;\n std::string f;\n fs >> d >> e >> f;\n if (!fs) {\n throw std::runtime_error(\"Failed to read from file\"); // \u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8aad\u307f\u53d6\u308c\u306a\u304b\u3063\u305f\u5834\u5408\n }\n std::cout << d << \" \" << e << \" \" << f << std::endl;\n } catch (const std::exception& e) {\n std::cerr << \"Error: \" << e.what() << std::endl;\n return 1;\n }\n return 0;\n}\n"}], "page_id": ["reference", "fstream", "basic_fstream"]}"> |
72 | 72 | <nav class="navbar navbar-default" role="navigation">
|
73 | 73 | <div class="container-fluid">
|
74 | 74 | <div class="navbar-header">
|
|
188 | 188 |
|
189 | 189 | <p class="text-right"><small>
|
190 | 190 | 最終更新日時(UTC):
|
191 |
| - <span itemprop="datePublished" content="2023-02-06T09:03:21"> |
192 |
| - 2023年02月06日 09時03分21秒 |
| 191 | + <span itemprop="datePublished" content="2024-12-26T03:31:04"> |
| 192 | + 2024年12月26日 03時31分04秒 |
193 | 193 | </span>
|
194 | 194 | <br/>
|
195 | 195 | <span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
196 |
| - <span itemprop="name">Akira Takahashi</span> |
| 196 | + <span itemprop="name">rotarymars</span> |
197 | 197 | </span>
|
198 | 198 | が更新
|
199 | 199 | </small></p>
|
|
223 | 223 | </code></pre></div>
|
224 | 224 | </p>
|
225 | 225 | <h2>概要</h2>
|
| 226 | +<p>ファイルに対する入出力を提供する高水準な機構</p> |
226 | 227 | <h2>メンバ関数</h2>
|
227 | 228 | <table border="1" bordercolor="#888" style="border-collapse:collapse">
|
228 | 229 | <thead>
|
@@ -328,7 +329,42 @@ <h2>メンバ型</h2>
|
328 | 329 | <td></td>
|
329 | 330 | </tr>
|
330 | 331 | </tbody>
|
331 |
| -</table></div> |
| 332 | +</table> |
| 333 | +<h2>例</h2> |
| 334 | +<p><div class="yata" id="389af5ea14dc5cce74d6f2ce720224ebda24922e"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../fstream.html"><fstream></a></span><span class="cp"></span> |
| 335 | +<span class="cp">#include</span> <span class="cpf"><a href="../ios.html"><ios></a></span><span class="cp"></span> |
| 336 | +<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html"><iostream></a></span><span class="cp"></span> |
| 337 | +<span class="cp">#include</span> <span class="cpf"><a href="../string.html"><string></a></span><span class="cp"></span> |
| 338 | + |
| 339 | +<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> |
| 340 | + <span class="n">std</span><span class="o">::</span><span class="n">fstream</span> <span class="n">fs</span><span class="p">;</span> |
| 341 | + <span class="n">fs</span><span class="p">.</span><span class="n">exceptions</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">failbit</span> <span class="o">|</span> <span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">badbit</span><span class="p">);</span> <span class="c1">// 例外を有効化する</span> |
| 342 | + <span class="k">try</span> <span class="p">{</span> |
| 343 | + <span class="n">fs</span><span class="p">.</span><span class="n">open</span><span class="p">(</span><span class="s">"./temp.txt"</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">ios_base</span><span class="o">::</span><span class="n">out</span> <span class="o">|</span> <span class="n">std</span><span class="o">::</span><span class="n">ios_base</span><span class="o">::</span><span class="n">in</span> <span class="o">|</span> <span class="n">std</span><span class="o">::</span><span class="n">ios_base</span><span class="o">::</span><span class="n">trunc</span><span class="p">);</span> |
| 344 | + <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">fs</span><span class="p">.</span><span class="n">is_open</span><span class="p">())</span> <span class="p">{</span> |
| 345 | + <span class="k">throw</span> <span class="n">std</span><span class="o">::</span><span class="n">runtime_error</span><span class="p">(</span><span class="s">"Failed to open file"</span><span class="p">);</span> <span class="c1">// ファイルが開けなかった場合</span> |
| 346 | + <span class="p">}</span> |
| 347 | + <span class="kt">int</span> <span class="n">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> |
| 348 | + <span class="kt">long</span> <span class="kt">double</span> <span class="n">b</span> <span class="o">=</span> <span class="mf">3.141592</span><span class="p">;</span> |
| 349 | + <span class="n"><a href="../string/basic_string.html">std::string</a></span> <span class="n">c</span> <span class="o">=</span> <span class="s">"hello"</span><span class="p">;</span> |
| 350 | + <span class="n">fs</span> <span class="o"><<</span> <span class="n">a</span> <span class="o"><<</span> <span class="s">" "</span> <span class="o"><<</span> <span class="n">b</span> <span class="o"><<</span> <span class="s">" "</span> <span class="o"><<</span> <span class="n">c</span> <span class="o"><<</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span> |
| 351 | + <span class="n">fs</span><span class="p">.</span><span class="n">seekg</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> |
| 352 | + <span class="kt">int</span> <span class="n">d</span><span class="p">;</span> |
| 353 | + <span class="kt">long</span> <span class="kt">double</span> <span class="n">e</span><span class="p">;</span> |
| 354 | + <span class="n"><a href="../string/basic_string.html">std::string</a></span> <span class="n">f</span><span class="p">;</span> |
| 355 | + <span class="n">fs</span> <span class="o">>></span> <span class="n">d</span> <span class="o">>></span> <span class="n">e</span> <span class="o">>></span> <span class="n">f</span><span class="p">;</span> |
| 356 | + <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">fs</span><span class="p">)</span> <span class="p">{</span> |
| 357 | + <span class="k">throw</span> <span class="n">std</span><span class="o">::</span><span class="n">runtime_error</span><span class="p">(</span><span class="s">"Failed to read from file"</span><span class="p">);</span> <span class="c1">// ファイルから読み取れなかった場合</span> |
| 358 | + <span class="p">}</span> |
| 359 | + <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="n">d</span> <span class="o"><<</span> <span class="s">" "</span> <span class="o"><<</span> <span class="n">e</span> <span class="o"><<</span> <span class="s">" "</span> <span class="o"><<</span> <span class="n">f</span> <span class="o"><<</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span> |
| 360 | + <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">exception</span><span class="o">&</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span> |
| 361 | + <span class="n">std</span><span class="o">::</span><span class="n">cerr</span> <span class="o"><<</span> <span class="s">"Error: "</span> <span class="o"><<</span> <span class="n">e</span><span class="p">.</span><span class="n">what</span><span class="p">()</span> <span class="o"><<</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span> |
| 362 | + <span class="k">return</span> <span class="mi">1</span><span class="p">;</span> |
| 363 | + <span class="p">}</span> |
| 364 | + <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> |
| 365 | +<span class="p">}</span> |
| 366 | +</code></pre></div> |
| 367 | +</div></p></div> |
332 | 368 |
|
333 | 369 | </div>
|
334 | 370 | </div>
|
|
0 commit comments