<!--
SPDX-FileCopyrightText: The Apache Software Foundation

SPDX-License-Identifier: Apache-2.0
-->

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.FileInfo.to_string</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <meta charset="utf-8" />

  
  <meta property="og:type" content="website"/>

  

  
  <meta priority="og:title" content="Arrow.FileInfo.to_string"/>
  <meta priority="og:description" content="Reference for Arrow.FileInfo.to_string"/>
  <meta name="twitter:title" content="Arrow.FileInfo.to_string"/>
  <meta name="twitter:description" content="Reference for Arrow.FileInfo.to_string"/>


  
  <meta name="twitter:card" content="summary"/>

  
  
  
  

  <link rel="stylesheet" href="style.css" type="text/css" />

  

  
  <script src="urlmap.js"></script>
  
  
  <script src="fzy.js"></script>
  <script src="search.js"></script>
  
  <script src="main.js"></script>
</head>

<body>
  <div id="body-wrapper" tabindex="-1">

    <nav class="sidebar devhelp-hidden">
      
      
      <div class="search section">
        <form id="search-form" autocomplete="off">
          <input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
        </form>
      </div>
      
      <div class="section namespace">
        <h3><a href="index.html">Arrow</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 23.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.FileInfo.html">FileInfo</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.FileInfo.equal.html">equal</a>
  
    <a class="method" href="method.FileInfo.is_dir.html">is_dir</a>
  
    <a class="method" href="method.FileInfo.is_file.html">is_file</a>
  
    <a class="method current" href="method.FileInfo.to_string.html">to_string</a>
  
  </div>
</div>

      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2023.1</p>
      </div>
    </nav>

    <button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>

    
<section id="main" class="content">
  <header>
    <h3>Method</h3>
    <h1><a href="index.html">Arrow</a><span class="sep"></span><a href="class.FileInfo.html">FileInfo</a><span class="sep"></span>to_string</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 0.17.0</span></p>
    </div>

    <div class="declaration toggle-wrapper">
      <h4 style="display:flex;" id="declaration">
        Declaration
        <a class="anchor" href="#declaration"></a>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-glib/file-system.h#L79">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="n">gchar</span><span class="o">*</span>
<span class="n">garrow_file_info_to_string</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowFileInfo</span><span class="o">*</span><span class="w"> </span><span class="n">file_info</span>
<span class="p">)</span>
</pre></div>
</code></pre>
      </div>
    </div>

    <div class="description toggle-wrapper">
      <h4 style="display:flex;" id="description">
        Description
        <a class="anchor" href="#description"></a>
        
      </h4>

      <div class="docblock">
        No description available.
      </div>

      <div class="docblock">
        
        <p>Available since: 0.17.0</p>
        
        
        
        
      </div>

      
    </div>

    

    
    <div class="return-value toggle-wrapper">
      <h4 id="return-value">
        Return value
        <a href="#return-value" class="anchor"></a>
      </h4>

      <div class="docblock">
        <div class="returns">
          <div class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gchar*</code></p>
            <p><p>The string representation of the file&nbsp;statistics.</p>
<p>It should be freed with <code>g_free()</code> when no longer&nbsp;needed.</p></p>
          </div>
          <div>
            <table>
            
            
            
            <tr><td title="transfer: full">The caller of the method takes ownership of the data, and is responsible for freeing it.</td></tr>
            
            <tr><td>The value is a NUL terminated UTF-8 string.</td></tr>
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

    <section id="search" class="content hidden"></section>

    <footer>
    
    </footer>
  </div>
</body>
</html>