> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__str_8h.md).

# dl\_str.h

[Macros](#define-members) | [Functions](#func-members) | [Variables](#var-members)

`#include "`[dl\_base.h](/adk-5.0-programmers-guide/dl__base_8h_source.md)`"` `#include "`[dl\_err.h](/adk-5.0-programmers-guide/dl__err_8h_source.md)`"` `#include "`[dl\_mem.h](/adk-5.0-programmers-guide/dl__mem_8h_source.md)`"` `#include <string.h>`

Include dependency graph for dl\_str.h:

![](/files/HPB5wRpT4iRBslLcfj7Y)

This graph shows which files directly or indirectly include this file:

![](/files/CWnYsggCVJKd2JiZTW3f)

[Go to the source code of this file.](/adk-5.0-programmers-guide/dl__str_8h_source.md)

|         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Macros  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| #define | [ISO\_EXP\_DECL](#afd0131fdb432c83b6a30719f866ef15a)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| #define | [DL\_STR\_SafeStr](#aa16c75d40f15dad726099ab71a4dfee0)(str)   ((str)==NULL?kDL\_STR\_EmptyStr:(str))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| #define | [DL\_STR\_SafeNum](#adf4a03fd84400c548a6f59486f902cf9)(a)   ((a)==NULL?0:\*(a))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| #define | [DL\_STR\_StrChr](#aed449824111f6494232eb6143da90dbf)   strchr                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| #define | [DL\_STR\_IsWS](#a96d9286d658a3a0e173fb12a45391b0a)(iCh)   ((((iCh)>=[kDL\_ASCII\_HT](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a5917ab482a0952f286f1f8d8e23b3b95))&&((iCh)<=[kDL\_ASCII\_CR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#ae2cc5e0274ba8d38efd250f3b65e2a7a)))\|\|((iCh)==[kDL\_ASCII\_SP](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#af1e6cf69a2d7307727f9bbd5061e125e)) ) |

|                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Functions                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \* | [DL\_STR\_GetEnv](#a9ccfac393c2534c26d65d0c67bfc910d) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iEnvStr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_StrLen](#ae5bc3001bfd98d55c6f976bd49fa812f) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_StrLenExWS](#a45be348beab150f1b85b01b32bb168da) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_StrCmp](#af90f27c687f23b9b2939a97754b50441) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr1, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr2, int iIgnoreCase)                                                                                                                                                                                                                                                                                                                                                                                  |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_StrNCmp](#a9f6dc8e48e764ed96c87c29996060fc5) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr1, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr2, int iIgnoreCase, int iMaxChars)                                                                                                                                                                                                                                                                                                                                                                  |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void                                                                                                                                                                              | [DL\_STR\_StrCpy](#ab15ebc0129002281339256d7bec69892) ([DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*ioToPtr, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iFromPtr, int iMaxChars)                                                                                                                                                                                                                                                                                                                                                                                     |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a)      | [DL\_STR\_StrDup](#a8df92d2c4aa7e8f6718c4f8bb36d6539) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*\*oStr)                                                                                                                                                                                                                                                                                                                                                                                                         |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a)      | [DL\_STR\_StrNDup](#a4d5d88155955021af2f19ec295b5d8e1) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, [DL\_UINT32](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a2b6bafb1286aa226f7f001cb7fd68c66) iMaxChars, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*\*oStr)                                                                                                                                                                                                            |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a)      | [DL\_STR\_StrCat](#ae6780674519df9d4e87c852272e94bf2) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr1, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr2, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*\*oStr)                                                                                                                                                                                                          |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void                                                                                                                                                                              | [DL\_STR\_LTrim](#ad95f905830ca78411feafc6748299240) ([DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*ioStr, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) iTrimCh)                                                                                                                                                                                                                                                                                                                                                                                                                |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void                                                                                                                                                                              | [DL\_STR\_RTrim](#a9f339970789812bcbbd50f7b9b4cd07e) ([DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*ioStr, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) iTrimCh)                                                                                                                                                                                                                                                                                                                                                                                                                |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void                                                                                                                                                                              | [DL\_STR\_ToUpper](#ae954dcd4743e2e81fc2cecde4e11192c) ([DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*ioStr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \* | [DL\_STR\_SkipWS](#a8c534cb9d52a315b9899027db8cd7551) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_IsNumeric](#a6c9961cfdfcd3f677c5106d8cea8a18c) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_Validate](#abf6441d33a6a46db3ec8c27e6647631d) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, int iMinLen, int iMaxLen, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iValidChars)                                                                                                                                                                                                                                                                                                                                                                  |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int                                                                                                                                                                               | [DL\_STR\_Contains](#acd50019f560f769c0e63a20c2e6e175b) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iContains)                                                                                                                                                                                                                                                                                                                                                                                              |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a)      | [DL\_STR\_EncapsulateStr](#a43b41ffa60f4fed56e3d4753bfa00deb) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) iEncapChar, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*\*oStr)                                                                                                                                                                                                      |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a)      | [DL\_STR\_GetEncapsulatedStr](#a58204181908480ce50f2395da04343a8) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) iEncapChar, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*\*oDataStr, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*\*oNextPtr) |
| [ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \* | [DL\_STR\_ReadToBuffer](#a8d8a1dc13d99214c3189ada36255f239) (const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iStr, const [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*iValidChars, int iBufferSize, [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) \*oBuffer)                                                                                                                                                                             |

|                                                                                                                                                                                |                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
| Variables                                                                                                                                                                      |                                                               |
| [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) | [kDL\_STR\_EmptyStr](#a00324da510bd7bd49bc95ea4a06762c5) \[1] |

### MacroDefinition Documentation <a href="#macro-definition-documentation" id="macro-definition-documentation"></a>

### DL\_STR\_IsWS <a href="#a96d9286d658a3a0e173fb12a45391b0a" id="a96d9286d658a3a0e173fb12a45391b0a"></a>

\#define DL\_STR\_IsWS

### DL\_STR\_SafeNum <a href="#adf4a03fd84400c548a6f59486f902cf9" id="adf4a03fd84400c548a6f59486f902cf9"></a>

\#define DL\_STR\_SafeNum

### DL\_STR\_SafeStr <a href="#aa16c75d40f15dad726099ab71a4dfee0" id="aa16c75d40f15dad726099ab71a4dfee0"></a>

\#define DL\_STR\_SafeStr

### DL\_STR\_StrChr <a href="#aed449824111f6494232eb6143da90dbf" id="aed449824111f6494232eb6143da90dbf"></a>

\#define DL\_STR\_StrChr   strchr

### ISO\_EXP\_DECL <a href="#afd0131fdb432c83b6a30719f866ef15a" id="afd0131fdb432c83b6a30719f866ef15a"></a>

\#define ISO\_EXP\_DECL

### FunctionDocumentation <a href="#function-documentation" id="function-documentation"></a>

### DL\_STR\_Contains() <a href="#acd50019f560f769c0e63a20c2e6e175b" id="acd50019f560f769c0e63a20c2e6e175b"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_Contains

### DL\_STR\_EncapsulateStr() <a href="#a43b41ffa60f4fed56e3d4753bfa00deb" id="a43b41ffa60f4fed56e3d4753bfa00deb"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a) DL\_STR\_EncapsulateStr

### DL\_STR\_GetEncapsulatedStr() <a href="#a58204181908480ce50f2395da04343a8" id="a58204181908480ce50f2395da04343a8"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a) DL\_STR\_GetEncapsulatedStr

### DL\_STR\_GetEnv() <a href="#a9ccfac393c2534c26d65d0c67bfc910d" id="a9ccfac393c2534c26d65d0c67bfc910d"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7)\\\* DL\_STR\_GetEnv

### DL\_STR\_IsNumeric() <a href="#a6c9961cfdfcd3f677c5106d8cea8a18c" id="a6c9961cfdfcd3f677c5106d8cea8a18c"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_IsNumeric

### DL\_STR\_LTrim() <a href="#ad95f905830ca78411feafc6748299240" id="ad95f905830ca78411feafc6748299240"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void DL\_STR\_LTrim

### DL\_STR\_ReadToBuffer() <a href="#a8d8a1dc13d99214c3189ada36255f239" id="a8d8a1dc13d99214c3189ada36255f239"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7)\\\* DL\_STR\_ReadToBuffer

### DL\_STR\_RTrim() <a href="#a9f339970789812bcbbd50f7b9b4cd07e" id="a9f339970789812bcbbd50f7b9b4cd07e"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void DL\_STR\_RTrim

### DL\_STR\_SkipWS() <a href="#a8c534cb9d52a315b9899027db8cd7551" id="a8c534cb9d52a315b9899027db8cd7551"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7)\\\* DL\_STR\_SkipWS

### DL\_STR\_StrCat() <a href="#ae6780674519df9d4e87c852272e94bf2" id="ae6780674519df9d4e87c852272e94bf2"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a) DL\_STR\_StrCat

### DL\_STR\_StrCmp() <a href="#af90f27c687f23b9b2939a97754b50441" id="af90f27c687f23b9b2939a97754b50441"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_StrCmp

### DL\_STR\_StrCpy() <a href="#ab15ebc0129002281339256d7bec69892" id="ab15ebc0129002281339256d7bec69892"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void DL\_STR\_StrCpy

### DL\_STR\_StrDup() <a href="#a8df92d2c4aa7e8f6718c4f8bb36d6539" id="a8df92d2c4aa7e8f6718c4f8bb36d6539"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a) DL\_STR\_StrDup

### DL\_STR\_StrLen() <a href="#ae5bc3001bfd98d55c6f976bd49fa812f" id="ae5bc3001bfd98d55c6f976bd49fa812f"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_StrLen

### DL\_STR\_StrLenExWS() <a href="#a45be348beab150f1b85b01b32bb168da" id="a45be348beab150f1b85b01b32bb168da"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_StrLenExWS

### DL\_STR\_StrNCmp() <a href="#a9f6dc8e48e764ed96c87c29996060fc5" id="a9f6dc8e48e764ed96c87c29996060fc5"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_StrNCmp

### DL\_STR\_StrNDup() <a href="#a4d5d88155955021af2f19ec295b5d8e1" id="a4d5d88155955021af2f19ec295b5d8e1"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) [DL\_ERR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__err_8h.md#ada368ca184bede6f4325b99208f6a97a) DL\_STR\_StrNDup

### DL\_STR\_ToUpper() <a href="#ae954dcd4743e2e81fc2cecde4e11192c" id="ae954dcd4743e2e81fc2cecde4e11192c"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) void DL\_STR\_ToUpper

### DL\_STR\_Validate() <a href="#abf6441d33a6a46db3ec8c27e6647631d" id="abf6441d33a6a46db3ec8c27e6647631d"></a>

[ISO\_EXP\_DECL](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/_safe_buffer_8hpp.md#afd0131fdb432c83b6a30719f866ef15a) int DL\_STR\_Validate

### VariableDocumentation <a href="#variable-documentation" id="variable-documentation"></a>

### kDL\_STR\_EmptyStr <a href="#a00324da510bd7bd49bc95ea4a06762c5" id="a00324da510bd7bd49bc95ea4a06762c5"></a>

[DL\_CHAR](/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__base_8h.md#a1b15f52a2d4d90367dbcbd0fa67ca6f7) kDL\_STR\_EmptyStr\\\[1\\]


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/adk-5.0-programmers-guide/readme/files/dir_baf74657955a2511854efc3b79733afd/dir_866da9c8ea3b8678bb6dec5fec7861e3/dl__str_8h.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
