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

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

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.CSVReadOptions.set_null_values</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.CSVReadOptions.set_null_values"/>
  <meta priority="og:description" content="Reference for Arrow.CSVReadOptions.set_null_values"/>
  <meta name="twitter:title" content="Arrow.CSVReadOptions.set_null_values"/>
  <meta name="twitter:description" content="Reference for Arrow.CSVReadOptions.set_null_values"/>


  
  <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: 22.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.CSVReadOptions.html">CSVReadOptions</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.CSVReadOptions.add_column_name.html">add_column_name</a>
  
    <a class="method" href="method.CSVReadOptions.add_column_type.html">add_column_type</a>
  
    <a class="method" href="method.CSVReadOptions.add_false_value.html">add_false_value</a>
  
    <a class="method" href="method.CSVReadOptions.add_null_value.html">add_null_value</a>
  
    <a class="method" href="method.CSVReadOptions.add_schema.html">add_schema</a>
  
    <a class="method" href="method.CSVReadOptions.add_timestamp_parser.html">add_timestamp_parser</a>
  
    <a class="method" href="method.CSVReadOptions.add_true_value.html">add_true_value</a>
  
    <a class="method" href="method.CSVReadOptions.get_column_names.html">get_column_names</a>
  
    <a class="method" href="method.CSVReadOptions.get_column_types.html">get_column_types</a>
  
    <a class="method" href="method.CSVReadOptions.get_false_values.html">get_false_values</a>
  
    <a class="method" href="method.CSVReadOptions.get_null_values.html">get_null_values</a>
  
    <a class="method" href="method.CSVReadOptions.get_timestamp_parsers.html">get_timestamp_parsers</a>
  
    <a class="method" href="method.CSVReadOptions.get_true_values.html">get_true_values</a>
  
    <a class="method" href="method.CSVReadOptions.set_column_names.html">set_column_names</a>
  
    <a class="method" href="method.CSVReadOptions.set_false_values.html">set_false_values</a>
  
    <a class="method current" href="method.CSVReadOptions.set_null_values.html">set_null_values</a>
  
    <a class="method" href="method.CSVReadOptions.set_timestamp_parsers.html">set_timestamp_parsers</a>
  
    <a class="method" href="method.CSVReadOptions.set_true_values.html">set_true_values</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.CSVReadOptions.html">CSVReadOptions</a><span class="sep"></span>set_null_values</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 0.14.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/reader.h#L235">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="kt">void</span>
<span class="n">garrow_csv_read_options_set_null_values</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowCSVReadOptions</span><span class="o">*</span><span class="w"> </span><span class="n">options</span><span class="p">,</span>
<span class="w">  </span><span class="k">const</span><span class="w"> </span><span class="n">gchar</span><span class="o">**</span><span class="w"> </span><span class="n">null_values</span><span class="p">,</span>
<span class="w">  </span><span class="n">gsize</span><span class="w"> </span><span class="n">n_null_values</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.14.0</p>
        
        
        
        
      </div>

      
    </div>

    
    <div class="parameters toggle-wrapper">
      <h4 id="parameters">
        Parameters
        <a href="#parameters" class="anchor"></a>
      </h4>

      <div class="docblock">
        <dl class="arguments">
          
          <dt class="arg-name"><code>null_values</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;An array of&nbsp;<code>gchar*</code></p>
            <p><p>The values to be processed as&nbsp;null.</p></p>
            <table>
            
            
            
            
            
            
            <tr><td>The length of the array is specified in the <code>n_null_values</code> argument.</td></tr>
            <tr><td title="transfer: none">The data is owned by the caller of the function.</td></tr>
            <tr><td>Each element is a NUL terminated UTF-8 string.</td></tr>
            </table>
          </dd>
          
          <dt class="arg-name"><code>n_null_values</code></dt>
          <dd class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gsize</code></p>
            <p><p>The number of the specified null&nbsp;values.</p></p>
            <table>
            
            
            
            
            
            
            
            
            
            </table>
          </dd>
          

          
        </dl>
      </div>
    </div>
    

    

  </section>
</section>


    

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

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