---
name: "SbString"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SbString"
---

# SbString(3)

The SbString class is a string class with convenience functions for string operations.

## NAME

SbString - The **SbString** class is a string class with convenience functions for string operations.

## SYNOPSIS

\#include \<Inventor/SbString.h\>

### Public Member Functions

**SbString** (void)\
 **SbString** (const char \*s)\
 **SbString** (const wchar\_t \*s)\
 **SbString** (const char \*s, int start, int end)\
 **SbString** (const **SbString** &s)\
 **SbString** (const int digits)\
 **~SbString** ()\
 uint32\_t **hash** (void) const\
 int **getLength** (void) const\
 void **makeEmpty** (SbBool freeold=TRUE)\
 const char \* **getString** (void) const\
 **SbString** **getSubString** (int startidx, int endidx=-1) const\
 void **deleteSubString** (int startidx, int endidx=-1)\
 void **addIntString** (const int value)\
 char **operator\[\]** (int index) const\
 **SbString** & **operator=** (const char \*s)\
 **SbString** & **operator=** (const **SbString** &s)\
 **SbString** & **operator+=** (const char \*s)\
 **SbString** & **operator+=** (const **SbString** &s)\
 **SbString** & **operator+=** (const char c)\
 int **operator!** (void) const\
 int **compareSubString** (const char \*text, int offset=0) const\
 **SbString** & **sprintf** (const char \*formatstr,...)\
 **SbString** & **vsprintf** (const char \*formatstr, va\_list args)\
 void **apply** (char(\*func)(char input))\
 int **find** (const **SbString** &s) const\
 SbBool **findAll** (const **SbString** &s, **SbIntList** &found) const\
 **SbString** **lower** () const\
 **SbString** **upper** () const\
 void **print** (std::FILE \*fp) const\

### Static Public Member Functions

static uint32\_t **hash** (const char \*s)\

## Detailed Description

The **SbString** class is a string class with convenience functions for string operations.

This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc.

This class should also be well suited for use by the application programmer throughout the application using the Coin library.

**See also**

**SbName**

## Constructor & Destructor Documentation

### SbString::SbString (void ) \[inline\]

This is the default constructor. It initializes the string to be empty.

### SbString::SbString (const char \* str) \[inline\]

This constructor assigns from the given string.

### SbString::SbString (const wchar\_t \* str) \[inline\]

This constructor converts the given string to UTF-8 and assigns it.

### SbString::SbString (const char \* str, int start, int end) \[inline\]

This constructor constructs a string from the given substring from *start* to *end* indices inclusive. If *end* is -1, the substring from *start* until the end of the string is used.

### SbString::SbString (const SbString & str) \[inline\]

This is the copy constructor.

### SbString::SbString (const int digits) \[inline\]

Construct an **SbString** instance containing the *digits* of the integer argument.

### SbString::~SbString () \[inline\]

The destructor. Deallocates any internal resources used during the lifetime of the **SbString** instance.

## Member Function Documentation

### uint32\_t SbString::hash (void ) const \[inline\]

This method returns a reasonable hash value for the current string.

**See also**

uint32\_t **SbString::hash(const char \* s)**

### uint32\_t SbString::hash (const char \* s) \[inline\], \[static\]

This static method returns a hash value for the given string.

### int SbString::getLength (void ) const \[inline\]

This method returns the length of the string.

### void SbString::makeEmpty (SbBool freeold = TRUE) \[inline\]

This method clears the string, making it an empty string (""). If *freeold* is TRUE (which is the default), the memory used by the old string is freed. Otherwise, memory will be kept and reused when the string is manipulated later.

### const char \* SbString::getString (void ) const \[inline\]

This method returns the pointer to the string (character array).

### SbString SbString::getSubString (int startidx, int endidx = -1) const \[inline\]

This method returns a new string which contains a substring defined by the given indices *startidx* and *endidx* (inclusive).

If *endidx* is -1, the substring from *startidx* to the end of the string is used.

This will return a string which is (*endidx* - *startidx* + 1) characters long, i.e. if this string is "foo/bar" and we call by SbString::getSubString(0, 3), the returned string will be "foo/".

### void SbString::deleteSubString (int startidx, int endidx = -1) \[inline\]

This method deletes the substring defined by *startidx* and *endidx* (inclusive). If *endidx* is -1, the substring from *startidx* to the end of the string is deleted.

### void SbString::addIntString (const int value) \[inline\]

Constructs a string from the given integer (e.g. intToString(42) creates the string "42"), and adds this to the contents of the string.

### char SbString::operator\[\] (int index) const \[inline\]

Returns character at position *index* in the string.

**See also**

**getSubString()**

### SbString & SbString::operator= (const char \* str) \[inline\]

This is the assignment operator.

### SbString & SbString::operator= (const SbString & str) \[inline\]

Assign from the given string.

### SbString & SbString::operator+= (const char \* str) \[inline\]

Concatenate the given string to the end of the current one.

### SbString & SbString::operator+= (const SbString & str) \[inline\]

Concatenate the given string to the end of the current one.

### SbString & SbString::operator+= (const char c) \[inline\]

Concatenate the given character to the end of the current string.

**Note**

This member function is not compatible with OpenInventor.

### int SbString::operator! (void ) const \[inline\]

This unary operator results in TRUE if the current string is empty ("") or FALSE otherwise.

### int SbString::compareSubString (const char \* text, int offset = 0) const \[inline\]

Uses *text* as a substring to be compared to the string, starting at offset *offset*. Return value is 0 upon success, and the failing character comparison difference upon failure.

### SbString & SbString::sprintf (const char \* formatstr, ...) \[inline\]

Set **SbString** instance to the formatted string *formatstr*, replacing the current contents. The control characters within *formatstr* and the remaining arguments should follow the conventions of the printf() call.

Note that this function is not part of the original Open Inventor API.

### SbString & SbString::vsprintf (const char \* formatstr, va\_list args) \[inline\]

Set **SbString** instance to the formatted string *formatstr*, replacing the current contents. The control characters within *formatstr* and the arguments of the *args* argument list should follow the conventions of the printf() call.

Note that this function is not part of the original Open Inventor API.

### void SbString::apply (char(\* func )(char input)) \[inline\]

Apply the conversion function *func* to every character of the current string. *func* is a pointer to a function that takes a character as input and returns a (probably converted) character.

Note that this function is not part of the original Open Inventor API.

### int SbString::find (const SbString & strarg) const

If *s* is found, the method returns the first index where *s* starts. Otherwise it returns -1.

Note: **SbString::find()** is a Coin specific extension to the original Open Inventor API.

**See also**

**SbString::findAll()**

**Since**

Coin 2.0

### SbBool SbString::findAll (const SbString & strarg, SbIntList & found) const

All occurrences of *str* is represented in *found* as indices to the characters where *str* starts. If 1 or more is found, TRUE is returned, else FALSE is returned.

Note: **SbString::findAll()** is an extension to the original Open Inventor API.

**See also**

**SbString::find()**

**Since**

Coin 2.0

### SbString SbString::lower () const

Converts all of the characters to lowercase using tolower().

**Since**

Coin 3.1

### SbString SbString::upper () const

Converts all of the characters to uppercase using toupper().

**Since**

Coin 3.1

### void SbString::print (std::FILE \* fp) const

Dump the state of this object to the *fp* file stream. Only works in debug version of library, method does nothing in an optimized build.

## Author

Generated automatically by Doxygen for Coin from the source code.
