strtrns has the following descriptions: desc-1, desc-2
The strtrns() function transforms string and copies it into
result.
Any character that appears in old is replaced with the character in
the same position in new. The new result is returned. ………This function is a security risk because it is possible to overflow
the newString buffer. If the currentString buffer is larger than the
newString buffer, then an overflow will occur.
And this is its prototype( or “signature”? “:
char * strtrns(const char *string, const char *old, const char *new, char *result);
I’ve been googling to no avail. I appreciate any tips or advice.
I think you can write your own safe one pretty quickly.
It won’t be a direct replacement, as the signature is slightly different, and it will allocate memory that the caller must free, but it can serve mostly the same job.
(I’m also changing the parameter name
new, which is a reserved word in C++, and the parameterstringwhich is a very common type in C++.These changes makes the function compatible with C++ code as well)