如何只替换CString中第一次出现的字符?

use*_*879 6 c++ mfc stl visual-c++

我有一个CString st= $/Abc/cda/($/dba/abc)/.我想替换的只有第一次出现$c:\.

我试图替换为

st.Replace("$","c:\");
Run Code Online (Sandbox Code Playgroud)

但它取代了所有的发生$.

能否请你建议我只替换第一次出现的角色.

Edw*_*nts 5

由于您将单个字符替换为三个字符,因此可以使用CString::Find()然后CString::Delete()CString::Insert(),例如

int nInx = st.Find('$');
if (nInx >= 0)
{    st.Delete(nInx, 1);
     st.Insert(nInx, _T("C:\\");
}
Run Code Online (Sandbox Code Playgroud)