Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Strtran() analogue in VC++
Message
From
29/01/2001 06:52:13
 
General information
Forum:
Visual C++
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00469429
Message ID:
00469616
Views:
10
There are a whole bunch of string manipulation functions available in the C Runtime Library, unfortunately there isn't one single function that does exactly what the VFP strtran()function does but enough functionality to create your own.

Their is an easier alternative if you are willing to use MFC. MFC provides a string class called CString, one of the member functions is called Replace(). This does exactly what you want to do and hides all the complexity off allocating more heap space if the string grows etc. To use this in other functions expecting character pointer(s) you can use the overriden LPCTSTR cast operator.
TCHAR szString[MAX_PATH];
CString strSample("C--");

// The integer nCount should contain the number of instances replace.
int nCount = strSample.Replace('-', '+');

ASSERT(nCount == 2);
ASSERT(strSample == "C++");

sprintf(szString, "I think %s is cool!", (LPCTSTR)strSample);
The following is a list of CRT string manipulation functions from MSDN:-
_mbscoll, _mbsicoll, _mbsncoll, _mbsnicoll Compare two multibyte-character strings using multibyte code page information (_mbsicoll and _mbsnicoll are case-insensitive) 

_mbsdec, _strdec, _wcsdec Move string pointer back one character 

_mbsinc, _strinc, _wcsinc Advance string pointer by one character 

_mbslen Get number of multibyte characters in multibyte-character string; dependent upon OEM code page 

_mbsnbcat Append, at most, first n bytes of one multibyte-character string to another 

_mbsnbcmp Compare first n bytes of two multibyte-character strings 

_mbsnbcnt Return number of multibyte-character bytes within supplied character count 

_mbsnbcpy Copy n bytes of string 

_mbsnbicmp Compare n bytes of two multibyte-character strings, ignoring case 

_mbsnbset Set first n bytes of multibyte-character string to specified character 

_mbsnccnt Return number of multibyte characters within supplied byte count 

_mbsnextc, _strnextc, _wcsnextc Find next character in string 

_mbsninc. _strninc, _wcsninc  Advance string pointer by n characters 

_mbsspnp, _strspnp, _wcsspnp Return pointer to first character in given string that is not in another given string 

_mbstrlen Get number of multibyte characters in multibyte-character string; locale-dependent 

sprintf, _stprintf Write formatted data to a string 

strcat, wcscat, _mbscat Append one string to another 

strchr, wcschr, _mbschr Find first occurrence of specified character in string 

strcmp, wcscmp, _mbscmp Compare two strings 

strcoll, wcscoll, _stricoll, _wcsicoll, _strncoll, _wcsncoll, _strnicoll, _wcsnicoll Compare two strings using current locale code page information (_stricoll, _wcsicoll, _strnicoll, and _wcsnicoll are case-insensitive) 

strcpy, wcscpy, _mbscpy Copy one string to another 

strcspn, wcscspn, _mbscspn,  Find first occurrence of character from specified character set in string 

_strdup, _wcsdup, _mbsdup Duplicate string 

strerror Map error number to message string 

_strerror Map user-defined error message to string 

strftime, wcsftime Format date-and-time string 

_stricmp, _wcsicmp, _mbsicmp Compare two strings without regard to case 

strlen, wcslen, _mbslen, _mbstrlen Find length of string 

_strlwr, _wcslwr, _mbslwr Convert string to lowercase 

strncat, wcsncat, _mbsncat Append characters of string 

strncmp, wcsncmp, _mbsncmp Compare characters of two strings 

strncpy, wcsncpy, _mbsncpy Copy characters of one string to another 

_strnicmp, _wcsnicmp, _mbsnicmp Compare characters of two strings without regard to case 

_strnset, _wcsnset, _mbsnset Set first n characters of string to specified character 

strpbrk, wcspbrk, _mbspbrk Find first occurrence of character from one string in another string 

strrchr, wcsrchr,_mbsrchr Find last occurrence of given character in string 

_strrev, _wcsrev,_mbsrev Reverse string 

_strset, _wcsset, _mbsset Set all characters of string to specified character 

strspn, wcsspn, _mbsspn Find first substring from one string in another string 

strstr, wcsstr, _mbsstr Find first occurrence of specified string in another string 

strtok, wcstok, _mbstok Find next token in string 

_strupr, _wcsupr, _mbsupr Convert string to uppercase 

strxfrm, wcsxfrm Transform string into collated form based on locale-specific information 

vsprintf, _vstprint Write formatted output using a pointer to a list of arguments 
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform