« XPCOM API Reference


The NS_CStringContainerInit function initializes a nsCStringContainer instance for use as a nsACString.

#include "nsStringAPI.h"
nsresult NS_CStringContainerInit(
  nsCStringContainer& aString


[in] A nsCStringContainer instance to be initialized.

Return Values

The NS_CStringContainerInit function returns NS_OK if successful. Otherwise, it returns an error code.


This function is equivalent to NS_CStringContainerInit2(container, nsnull, 0, 0).

The nsCStringContainer structure has private members that should not be accessed directly. After a nsCStringContainer object has been initialized via NS_CStringContainerInit, it may be used as an ordinary nsACString object.

With NS_CStringContainerInit, the coder is required to call NS_CStringContainerFinish when done with the nsCStringContainer object. Therefore, it is generally better to use nsEmbedCString, to instantiate a nsACString object, since it automatically releases allocated memory when the object goes out of scope.


nsCStringContainer str;
if (NS_SUCCEEDED(NS_CStringContainerInit(str)))
  // Now, |str| can be used with any function taking a nsACString parameter.

  // Call this function to release any memory owned by |str| when done.


This function was finalized for Mozilla 1.7. See bug 239123 for details.

See Also

NS_CStringContainerFinish, nsACString, nsEmbedCString