无法在 C++ 中将字符串转换为 char?

Cannot convert string to char in c++?

有人知道这段代码有什么问题吗?

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
string a;
getline(cin, a);
for(;;)
{
    string x;
    x=1;
    string b;
    getline(cin, b);
    string c;
    getline(cin, c);
    string d;
    d=a+b;
    string e;
    e=b+c;
    if(b=="1")
    {
        return 0;
    }
    rename(d, e);
}
}

它说错误在

rename(d,e);

部分。它给出了一个错误

cannot convert 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' to 'const char*' for argument '1' to 'int rename(const char*, const char*)

所以我假设它不能将字符串转换为字符。有人知道怎么做并发送更正的部分吗?

没有从std::string到char指针的隐式转换,您需要通过函数调用来调用它:

rename( d.c_str(), e.c_str() );