<span style="color: black;"></span>Hello,<br><br>is it possible to write ginac symbols and expressions into a file as binary format??<br>i&#39;ve tried this but i get segmentation fault when printing the read variables. you can try this one file example to see the problem.<br>

it writes to example.dat as binary format, then reads from it as binary format too.<br><br>//CODE<br>#include &lt;ginac/ginac.h&gt;<br>#include &lt;iostream&gt;<br>#include &lt;fstream&gt;<br><br>using namespace std;<br>
using namespace GiNaC;<br>
int main(){<br><br>    //WRITE<br>    if(1){<br>        symbol a(&quot;a&quot;), b(&quot;b&quot;);<br>        ex myExp = a*b;<br>        cout &lt;&lt; &quot;Original: Symbols are &#39;&quot; &lt;&lt; a &lt;&lt; &quot;&#39; and &#39;&quot; &lt;&lt; b &lt;&lt; &quot;&#39;, myExp = &quot; &lt;&lt; myExp &lt;&lt; endl;<br>

        fstream fw;<br>        fw.open( &quot;example.dat&quot;, ios::out|ios::binary );<br>        if( fw.is_open() ){<br>            fw.write( (char*)&amp;a, sizeof(a) );<br>            fw.write( (char*)&amp;b, sizeof(b) );<br>

            fw.write( (char*)&amp;myExp, sizeof(myExp) );<br>            fw.close();<br>        }<br>        else{<br>            printf(&quot;Error Opening File for writing\n&quot;);<br>        }<br>    }<br>    //READ (SHOULD NOT DEPEND OF WRITE CODE)<br>

    if(1){<br>        symbol ca, cb;<br>        ex copyExp;<br>        fstream fr;<br>        fr.open( &quot;example.dat&quot;, ios::in|ios::binary );<br>        if( fr.is_open() ){<br>            fr.read( (char*)&amp;ca, sizeof(ca) );<br>

            fr.read( (char*)&amp;cb, sizeof(cb) );<br>            fr.read( (char*)&amp;copyExp, sizeof(copyExp) );<br>            fr.close();<br>            cout &lt;&lt; &quot;Read from file: Symbols are &#39;&quot; &lt;&lt; ca &lt;&lt; &quot;&#39; and &#39;&quot; &lt;&lt; cb &lt;&lt; &quot;&#39; myExp = &quot; &lt;&lt; copyExp &lt;&lt; endl;<br>

        }<br>        else{<br>            cout &lt;&lt; &quot;Error opening file for reading: does it exist?&quot; &lt;&lt; endl;<br>        }<br>    }<br>    return 1;<br>}<br>//CODE<br>thanks in advance<br><span style="color: black;"><div dir="ltr">

<div>
--<br><a href="http://www.youtube.com/neoideo" target="_blank">Cristobal</a></div></div></span><br>