PRB: STL string Class insert Function Does Not Work as Expected
Article ID: 168376
Article Last Modified on 12/2/2003
APPLIES TO
- The Standard C++ Library, when used with:
- Microsoft Visual C++ 4.2 Enterprise Edition
- Microsoft Visual C++ 4.2 Professional Edition
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
This article was previously published under Q168376
SYMPTOMS
The string::insert member function does not work as expected. This is
because the same string object is used for modification and input. Many
data manipulation routines do not check for overlapping or identical
arguments, causing unexpected results.
RESOLUTION
Create a temporary copy of the string as shown below:
s.insert(0, string("b"), 1);
STATUS
This behavior is by design.
Keywords: kbprogramming kbprb KB168376