That makes sense, but even the following doesn&#39;t work:<br><br>QString qstr = &quot;/home/mydir/music/song.mp3&quot;;<br>QByteArray qbArray = qstr.toLocal8Bit();<br>const char* str = qbArray.constData();<br><div>
TagLib::FileRef tagFile(str);<br><br>In this case, I&#39;ve got a local object which stores the value returned by toLocal8Bit() and which is in scope when I&#39;m using str. Does qbArray get destroyed whenever constData() is called on it? When I&#39;m debugging, I can still see str holding a value when it goes to the next step.<br>


<br>Thanks,<br>Plasty.<br></div><br><br><div class="gmail_quote">On Sun, Dec 6, 2009 at 1:18 AM, Michael Pyne <span dir="ltr">&lt;<a href="mailto:mpyne@purinchu.net" target="_blank">mpyne@purinchu.net</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>On Saturday 05 December 2009 13:59:35 Plasty Grove wrote:<br>

&gt; Hi,<br>
&gt;<br>
&gt; I&#39;m developing using qt and have a situation where I have to create a<br>
&gt; FileRef object from a QString object.<br>
&gt;<br>
&gt; --------------------------------------------------<br>
&gt; TagLib::FileRef tagFile(&quot;/home/mydir/music/song.mp3&quot;) //---&gt; Works fine<br>
&gt; --------------------------------------------------<br>
&gt; QString qstr = &quot;/home/mydir/music/song.mp3&quot;;<br>
&gt; const char* str = qstr.toLocal8Bit().constData();<br>
&gt; TagLib::FileRef tagFile(str); //---&gt; Doesn&#39;t work, shows as empty in<br>
&gt; debugger and segfaults when I try to access<br>
&gt; --------------------------------------------------<br>
&gt;<br>
&gt; What am I doing wrong here?<br>
<br>
</div></div>QString::toLocal8Bit returns a QByteArray, not a const char *.<br>
That QByteArray is destructed once .constData() returns (since there&#39;s no<br>
reason for C++ to keep it around).<br>
<br>
So now your const char * pointer is dangling in the middle of freed memory,<br>
and you get a crash.<br>
<br>
Regards,<br>
<font color="#888888"> - Michael Pyne<br>
</font><br>_______________________________________________<br>
taglib-devel mailing list<br>
<a href="mailto:taglib-devel@kde.org" target="_blank">taglib-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
<br></blockquote></div><br>