更换功能不起作用?

时间:2016-03-05 00:58:11

标签: c++ replace

所以基本上我需要将'温度'的第一个数字(如果为'1')替换为'2'或'0'。我没有得到代码的零部分,但我只是坚持第一个替换功能。因为什么原因我一直得到一个错误,说明“没有匹配成员函数来调用'替换'”。不知道我可能做错了什么。我已将用户输入的int“temp”更改为字符串“sTemp”,并且能够确定字符串的第一个字符实际上是否为1。但是再次出现错误。

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main() {
    int temP;
    string sTemp;
    stringstream ss;


    cout << "Enter the temperature desired: " << endl;
    cin >> temP;

    ss << temP;
    ss >> sTemp;

    if (sTemp[0] == '1')
        sTemp.replace(0, 1, '2');


    return 0;
    }

1 个答案:

答案 0 :(得分:1)

'char'与C ++中的"string"不同。双引号表示char[],而单引号表示char。换句话说,您需要为函数提供一个字符串。

用双引号替换单引号。