一个简单的C++字符串替换问题!!!!!

2025-01-02 17:09:34
推荐回答(5个)
回答1:

#include 

#include 

using namespace std;

main()

{

string str1;

cout<<"input"<

cin>>str1;

int loc1 = str1.find( "sin", 0 );//查找 "sin" ,返回位置

    while( loc1 != string::npos )//

 { 

  str1.replace(loc1,3,"s");//将 sin 替换成 s

        loc1 = str1.find( "sin", 0 );

 }

int loc2 = str1.find( "cos", 0 );//查找 "cos" ,返回位置

    while( loc2 != string::npos )

 {

  str1.replace(loc2,3,"c");//将 cos 替换成 c

  loc2 = str1.find( "cos", 0 );

 }

    

cout<

}

回答2:

CStrin 提供了一个替换字符串的函数 Replace
char a[]="1+sin(60)+cos(50)";
CString str1=a;//将数组中的字符串赋值给str1
str1.Replace("sin","s");
str1.Replace("cos","c");
printf("%s",str1);
这种方法,字符串中所有的sin cos都会被替换

回答3:

#include
#include
using namespace std;
int main () {
string str1="1+sin(60)+cos(50)";
size_t pos = 0;
pos = str1.find("sin");
str1.replace(pos, 3, "s");
pos = str1.find("cos");
str1.replace(pos, 3, "c");
cout << str1 < return 0;
}

回答4:

CString 可以直接进行加,
if (CString SText == _T("sin"))
{
SText = _T("S");
}
这样就把字符串拆开然后在加上了

回答5:

这样可以?