无法在 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() );
有人知道这段代码有什么问题吗?
#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() );