---
name: "XmStringToXmStringTable"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmStringToXmStringTable"
---

# XmStringToXmStringTable(3)

A convenience function that converts a single compound string to a table of compound strings

## NAME

**XmStringToXmStringTable** — A convenience function that converts a single compound string to a table of compound strings

## SYNOPSIS

```
#include <Xm/Xm.h>
Cardinal XmStringToXmStringTable(
XmString string,
XmString break_component,
XmStringTable *table);
```

## DESCRIPTION

**XmStringToXmStringTable** takes as input a single compound string and a specified string component (such as a tab) and returns a table of compound strings consisting of portions of *string* delimited by components matching *break\_component*. The components marking breaks will not appear in the resulting table.

- *string*

  Specifies the **XmString** to be converted.

- *break\_component*

  Specifies the **XmStringComponent** that will be used to indicate where to split *string* to form the individual elements of *table*. The most useful types will be **XmSTRING\_COMPONENT\_SEPARATOR** and **XmSTRING\_COMPONENT\_TAB**. Refer to the [**XmStringComponentType**(3)](/XmStringComponentType/3.md) reference page for a complete list of possible component types. Note, however, that the **XmSTRING\_COMPONENT\_UNKNOWN** component is not a possible type.

- *table*

  Returns the equivalent **XmStringTable**. The function will allocate space to hold the returned **XmStringTable**. When the applicaiton no longer needs the returned **XmStringTable**, the application should call **XmStringFree** once for each compound string in the table, and then calling **XtFree** to deallocate the **XmStringTable** itself.

## RETURN

Returns the number of compound strings in *table*.

## RELATED

[**XmStringTable**(3)](/XmStringTable/3.md).
