« XPCOM API Reference

Summary

The NS_CStringGetData function gives the caller read access to the string's internal buffer.

#include "nsStringAPI.h"

PRUint32 NS_CStringGetData(
  const nsACString& aString,
  const char** aData,
  PRBool* aTerminated = nsnull
);

Parameters

aString
[in] A nsACString instance to inspect.
aData
[out] A const pointer to the string's internal buffer.
aTerminated
[out] This optional result parameter indicates whether or not aData is null-terminated. It may be null if the caller is not interested in this information.

Return Values

The NS_CStringGetData function returns the length of aData, measured in storage units (bytes).

Example Code

// Count the number of times a particular character appears in a string.
PRUint32 CountChar(const nsACString& str, char c)
{
  const char* data;
  PRUint32 len = NS_CStringGetData(str, &data);

  PRUint32 count = 0;

  for (PRUint32 i = 0; i < len; ++i)
  {
    if (data[i] == c)
      ++count;
  }

  return count;
}

History

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

See Also

NS_CStringGetMutableData