CStrCatStr

Version 1.3.0.0 (11.1 KB) by Jan
Cat 2 or 3 strings/cell strings C-MEX: 10 times faster than STRCAT
1.2K Downloads
Updated 10 Feb 2010

View License

Join 2 or 3 strings and cell strings 10 times faster than STRCAT

R = CStrCatStr(A, B) or R = CStrCatStr(A, B, C)
INPUT:
A, B, C: Strings or cell strings. At least one input must be a cell string.
OUTPUT:
R: Cell string with the same size as the input cell.

Comparison with Matlab's STRCAT:
- MEX version is about 10 times faster that STRCAT.
- CStrCatStr is limited to 2 or 3 inputs with at least one cell string.
- CStrCatStr conserves marginal spaces.
- STRCAT('A', {}) replies: {'A'}. CStrCatStr('A', {}) replies: {}.
- CStrCatStr treats char arrays as single string with linear index.

EXAMPLES:
CStrCatStr('a', {'a', 'b', 'c'}) % ==> {'aa', 'ab', 'ac'}
CStrCatStr({'a'; 'b'; 'c'}, '-') % ==> {'a-'; 'b-'; 'c-'}
CStrCatStr({' ', ''}, 'a', {' ', ''}) % ==> {' a ', 'a'}
CStrCatStr({'a', 'b'}, {'c'}) % ==> error: cells need equal size
FileDir = dir(Path); AbsName = CStrCatStr(Path, filesep, {FileDir.name});

Tested: Matlab 6.5, 7.7, 7.8, Win2K/XP, LCC2.4, LCC3.8, BCC5.5, 32 + 64 bit addressing.
Run unit-test TestCStrCatStr after compiling and for a speed test (see screen shot).
Compiled Mex: http://www.n-simon.de/mex

Cite As

Jan (2024). CStrCatStr (https://www.mathworks.com/matlabcentral/fileexchange/24341-cstrcatstr), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Characters and Strings in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

32 + 64 bit addressing

1.2.0.0

Shorter description, sources are not changed

1.0.0.0