1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../css/manpage.css" type="text/css" /> 7<title>TryCreateFile</title> 8 </head> 9 <body> 10<h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/fs/Overview.html">fs</a>::TryCreateFile</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14<a href="../../nn/Result/Overview.html">Result</a> TryCreateFile( 15 const wchar_t * pathName, 16 <a href="../../nn_types/s64.html">s64</a> size 17); 18 19<a href="../../nn/Result/Overview.html">Result</a> TryCreateFile( 20 const char * pathName, 21 <a href="../../nn_types/s64.html">s64</a> size 22); 23</pre> 24 </div> 25<h2>List of Overloaded Member Functions</h2> 26 <div class="section"> 27 <table class="members"> 28 <tr> 29 <td> 30<a href="./TryCreateFile(0).html"><CODE>TryCreateFile(const wchar_t *, s64)</CODE> </a> 31 </td> 32<td>Creates a file.</td> 33 </tr> 34 <tr> 35 <td> 36<a href="./TryCreateFile(1).html"><CODE>TryCreateFile(const char *, s64)</CODE> </a> 37 </td> 38<td>Creates a file.</td> 39 </tr> </table> 40 </div> 41<h2>Description of <CODE>TryCreateFile(const wchar_t *, s64)</CODE></h2> 42<div class="section"><p>This function returns any error that occurs while it is creating the file.</p><p>If file creation fails, a garbage file may have been created. Call the <a href="../../nn/fs/TryDeleteFile.html"><CODE>TryDeleteFile</CODE></a> function to delete it. If a garbage file has not been created, <a href="../../nn/fs/ResultNotFound/Overview.html"><CODE>ResultNotFound</CODE></a> is returned.</p>Which <CODE>Result</CODE> values need handling will differ, depending on the archive. For details, see <a href="briefing/aboutErrorHandling.html#FileAndDirectory">Handling Errors During File and Directory Operations</a>.<br /><br /><h3>Note</h3><div class="section"> 43After a file has been created with this function, if nothing has been written then in principle the process of reading will return <CODE><a href="../../nn/fs/ResultVerificationFailed/Overview.html">nn::fs::ResultVerificationFailed</a></CODE>.<br />However, if this function is called for save data or expanded save data, then the first 512 bytes (or the entire file if the size is 512 bytes or smaller) are guaranteed to be zero-initialized. By using this and writing to the file in the order (Create file > Write data and flush > Write file signature to front and flush), you can check that the file signature has been loaded correctly and guarantee that the file is written correctly. 44 </div></div> 45<h2>Description of <CODE>TryCreateFile(const char *, s64)</CODE></h2> 46<div class="section"><p>This function returns any error that occurs while it is creating the file.</p><p><BR><B>Note:</B> This function uses a large amount of buffer space on the stack because it converts the path name from a multibyte string into a wide string. Pay careful attention to the stack size.</p><p>If file creation fails, a garbage file may have been created. Call the <a href="../../nn/fs/TryDeleteFile.html"><CODE>TryDeleteFile</CODE></a> function to delete it. If a garbage file has not been created, <a href="../../nn/fs/ResultNotFound/Overview.html"><CODE>ResultNotFound</CODE></a> is returned.</p>Which <CODE>Result</CODE> values need handling will differ, depending on the archive. For details, see <a href="briefing/aboutErrorHandling.html#FileAndDirectory">Handling Errors During File and Directory Operations</a>.<br /><br /><h3>Note</h3><div class="section"> 47After a file has been created with this function, if nothing has been written then in principle the process of reading will return <CODE><a href="../../nn/fs/ResultVerificationFailed/Overview.html">nn::fs::ResultVerificationFailed</a></CODE>.<br />However, if this function is called for save data or expanded save data, then the first 512 bytes (or the entire file if the size is 512 bytes or smaller) are guaranteed to be zero-initialized. By using this and writing to the file in the order (Create file > Write data and flush > Write file signature to front and flush), you can check that the file signature has been loaded correctly and guarantee that the file is written correctly. 48 </div></div> 49 <hr><p>CONFIDENTIAL</p></body> 50</html>