C++中使用cout对string类型的进行输出,发现会出现error;
#include "stdafx.h"
#include "iostream"
#include <algorithm>
#include <cstdlib>
using namespace std;
void main()
{
cout << "请输入以一个整数" << endl;
int a;
cin >> a;
char number[5];
sprintf(number, "%d", a);
string re_number = number;
reverse(re_number.begin(), re_number.end());
cout << re_number << endl;
}
错误类型为:没有与这些操作数匹配的 "<<" 运算符。经过调查发现,是String类型没有重载 <<符号,那么想要输出有两种方式:
1、添加string库。
2、调用c_str()方法。
#include "stdafx.h"
#include "iostream"
#include <algorithm>
#include <cstdlib>
using namespace std;
void main()
{
cout << "请输入以一个整数" << endl;
int a;
cin >> a;
char number[5];
sprintf(number, "%d", a);
string re_number = number;
reverse(re_number.begin(), re_number.end());
cout << re_number.c_str() << endl;
}
或者
#include "stdafx.h"
#include "iostream"
#include <algorithm>
#include <cstdlib>
#include <string>
using namespace std;
void main()
{
cout << "请输入以一个整数" << endl;
int a;
cin >> a;
char number[5];
sprintf(number, "%d", a);
string re_number = number;
reverse(re_number.begin(), re_number.end());
cout << re_number << endl;
}